iPhone에서 nsObject의 서브 클래스를 초기화하는 방법은 무엇입니까?
-
03-07-2019 - |
문제
다른 클래스 가이 방법을 [instance methodName:Parameter]
.
클래스가 서브 클래스 인 경우 UIViewController
, 나는 사용할 수있다 initWithNibName
초기화합니다. 그러나 나는 방법을 an에 쓰고 싶다 nsobject 's 서브 클래스, 어떻게 초기화 할 수 있습니까?
해결책 2
나는 이것이 효과가있을 수 있습니다 :
TheClass *newObject = [[TheClass alloc] init];
//do something here
[newObject release];
다른 팁
iPhophony는 정확하지만, 그 방법을 직접 작성해야한다고 말하지는 않습니다. Init 메소드는 일반적으로 다음과 같이 보일 것입니다.
- (id) init
{
if (self = [super init])
{
myMember1 = 0; // do your own initialisation here
myMember2 = 0;
}
return self;
}
비록 사과 문서 말한다
nsObject 클래스에 정의 된 INT 메소드는 초기화가 없습니다. 그것은 단순히 자기를 반환합니다.
그리고 하나는 글을 쓰고 싶어 할 수 있습니다
- (id) init
{
myMember1 = 0; // do your own initialisation here
myMember2 = 0;
return self;
}
이것은 잘못되었고 문서에 명시 적으로 언급 된 내용을 따르지 않습니다.
이 (INT) 메소드의 사용자 정의 구현에서 SUPER의 지정된 이니셜 라이저를 호출 한 다음 새 개체를 초기화하고 반환해야합니다.
해야 하다. 해야 할 수도 있고,해야 할 수도 있습니다.
NSObject의 Init가 미래에 변하지 않는다고 가정해서는 안됩니다. 사용자 정의 클래스가 파생되는 슈퍼 클래스도 없습니다.
제휴하지 않습니다 StackOverflow