본문 바로가기

IOS 개발

[iOS] init()

요약

메모리가 할당 된 직후에 새 객체 (수신기)를 초기화하기 위해 서브 클래스에 의해 구현됩니다.

Summary

Implemented by subclasses to initialize a new object (the receiver) immediately after memory for it has been allocated.

 

 

선언

init()

 

Declaration

init()

 

 

 

토론
init () 메시지는 동일한 코드 행에서 alloc (또는 allocWithZone :) 메시지와 결합됩니다.

SomeClass * object = [[SomeClass alloc] init];

 

Discussion

An init() message is coupled with an alloc (or allocWithZone:) message in the same line of code:

SomeClass *object = [[SomeClass alloc] init];

 

초기화 될 때까지 개체를 사용할 수 없습니다.

An object isn’t ready to be used until it has been initialized.

 

이 메소드의 사용자 정의 구현에서 super의 초기화를 호출 한 다음 새 오브젝트를 초기화하고 리턴해야합니다. 새 객체를 초기화 할 수 없으면 메서드는 nil을 반환해야합니다. 예를 들어, 가상의 BuiltInCamera 클래스는 카메라가없는 장치에서 실행될 경우 init 메소드에서 nil을 반환 할 수 있습니다.

In a custom implementation of this method, you must invoke super’s Initialization then initialize and return the new object. If the new object can’t be initialized, the method should return nil. For example, a hypothetical BuiltInCamera class might return nilfrom its init method if run on a device that has no camera.

 

- (instancetype)init {

    if (self = [super init]) {

        // Initialize self

    }

    return self;

}

 

경우에 따라 init () 메소드의 사용자 정의 구현은 대체 객체를 반환 할 수 있습니다. 따라서 항상 후속 코드에서 alloc 또는 allocWithZone :에 의해 반환 된 객체가 아니라 init ()에 의해 반환 된 객체를 사용해야합니다.

In some cases, a custom implementation of the init() method might return a substitute object. You must therefore always use the object returned by init(), and not the one returned by alloc or allocWithZone:, in subsequent code.

 

NSObject 클래스에 정의 된 init () 메소드는 초기화하지 않습니다. 그것은 단순히 self를 돌려줍니다. nullable과 관련하여 호출자는 init ()의 NSObject 구현이 nil을 반환하지 않는다고 가정 할 수 있습니다.

The init() method defined in the NSObject class does no initialization; it simply returns self. In terms of nullability, callers can assume that the NSObject implementation of init() does not return nil.

 

 

보고
초기화 된 객체. 예외를 발생시키지 않는 어떤 이유로 객체를 만들 수없는 경우는 nil 입니다.

Returns

An initialized object, or nil if an object could not be created for some reason that would not result in an exception.

 

 

 

 

 

 

 

 

[ 참조 : Open in Developer Documentation ]

'IOS 개발' 카테고리의 다른 글

[iOS] struct CGRect  (0) 2020.02.24
[iOS] Introducing JSON  (0) 2020.02.24
Using API Functionality  (0) 2020.02.21
[iOS] class UIButton : UIControl  (0) 2020.02.20
[iOS] 특수문자 (특수기호) 뜻  (0) 2020.02.10