문제

iPhone 개발을 시작한 이래로 나는 수업에서 구성원으로서 데이터에 액세스하는 가장 좋은 방법에 대해 혼란 스러웠습니다.

MyClass라는 수업이 있다고 가정 해 봅시다.

@interface MyClass : NSObject {
    int myInt;
}

@property (nonatomic, assign) int myInt;

구현에서는 다음을 수행하는 것이 좋습니다.

myObject.myInt = 1;

아니면 이거?

[myObject setMyInt:1];

이것은 값도 읽기위한 것입니다.

int newInt = myObject.myInt;

vs.

int newInt = [myObject myInt];
도움이 되었습니까?

해결책

실제로 중요하지 않습니다. 그들은 같은 것입니다. Dot Syntax는 당신이 사용할 편의성이며 코드를 깨끗하게 만드는 것처럼 느낍니다.

Dot Syntax를 사용하면 컴파일러에서 경고 또는 오류를 던지는 경우 ID 객체가있는 경우 해당 속성이 있음을 알고 있더라도 ID 객체가있는 경우입니다.

id someReturnedObject = [somethingObject someMysteryObjectAtIndex:5];
int aValue = 0;
aValue = someReturnedObject.value; // warning
aValue = [someReturnedObject value]; // will just do it

다른 팁

객체의 유형은 정적으로 확인됩니다. 구문은 있지만 [] 구문은 아닙니다. 이것은 당신이 사용할 수 없다는 것을 의미합니다. 객체의 유형이 지정되지 않고 사용하는 것이 유리한 경우 컴파일러가 더 도움이됩니다.

Objective-C의 DOT 구문은 본질적으로 액세서 방법을 사용하기위한 속기입니다. 메시지는 여전히 액세서 방법을 통해 전송됩니다. 당신의 질문에 대한 답변을 바랍니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top