Objective-C에서 id와 instancetype의 차이
개요
instancetype은clang3.5에서 제공하는 키입니다. id와 같이 알 수 없는 형식의 Objective-C 대상을 되돌려주는 방법을 표시합니다.
2 관련 반환 형식과 비관련 반환 형식
1, 연결 반환 유형
코코아의 명명 규칙에 따라 다음 스타일에 맞는 방법:
@interface NSObject
+ (instancetype)alloc
- (instancetype)init
다음과 같은 방법으로 초기화할 때
NSArray *array = [[NSArray alloc] init];
Cocoa의 명명 규칙에 따라 [NSArray alloc]와 [NSArray alloc] init]가 모두 NSArray의 객체로 반환됩니다.
2, 비연관 반환 유형
연관 반환 유형의 몇 가지 방법을 제외하고는 모두 비연관적이다.
@interface NSArray
+ (id)constructAnArray;
+ (instancetype)constructAnArray;
@end
이러한 방법으로 NSAarry를 초기화할 경우:
[NSArray constructAnArray];
세 가지 사용 차이점
네 가지 총결산
우리가 구조 방법을 사용자 정의할 때, 되돌아오는 값은 가능한 instancetype을 쓰고, id를 사용하지 마십시오
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.