Objective-C에서 "self"를 사용하고 있습니까? 아니면 좋은 방법일까요? 나는 그것을 전혀 사용하지 않을 때마다 사용하지 않았기 때문에 실제로 어떤 차이도 느끼지 않는 것 같습니다. 그것은 어쨌든 암시되지 않습니까?"자가"가 필요합니까?
답변
인스턴스 변수를 참조 할 때 필요하지 않습니다. 당신이 대리인을 설정할 때처럼, 다른 방법으로 현재 객체의 참조를 전달 할 때 필요하다 :
[someObj setDelegate:self];
현재 객체에서 같은 클래스의 메소드를 호출 할 때 그것은 또한 필요가있다 :
인스턴스 변수에 지정할 때 setter를 사용하여 복사 또는 보관하는 경우 self를 사용해야합니다. –
[self doMethod]
예, 목표 C는 방법은 C/C++처럼 호출하지만
[자기 해봐요] 같은 상황에있어, 자기 보내는 메시지를 사용하지 않기 때문에, 및 self.myProperty;
이 필요합니다.
ivar에 액세스하는 경우 자체는 필요하지 않습니다.
희망이 있습니다.
가 달려 변수를 처리하기위한 -CV
. 합성 된 getter 또는 setter를 사용하려면 자체에 도트 표기법을 사용하십시오. 당신이, 음, self
에게 메시지를 보낼 개체에 대한 원한다면
self.someProperty = @"blah"; //Uses the setter
someProperty = @"blah"; //Directly sets the variable
도트 표기법을 사용할 필요가 없습니다. 그러나 우리 중 많은 사람들이 그것을 좋아합니다. 하지만 나는주의를 기울인다 : 객체에 메시지를 보내는 것과는 반대로 포인터가 아닌 구조체에서 필드에 액세스하는 것처럼 점 표기법이 거의 보인다. Objective-C 객체는 구조체에 대한 포인터이기 때문에'self.someiVar = @ "this"는 인스턴스 변수에 액세스 할 수 없습니다. 'self-> someiVar = @ "this"'(클래스의 구현 내에서'self->'비트는 불필요합니다)를 사용합니다. 그래서, 당신이하고있는 일과 당신이하지 않는 것을 이해한다면 점 표기법을 사용하십시오. –
Actualy이 필요 할 때마다 없습니다. propertyname
또는 propertyname = value
에 해당 아니지만, 그것은 좋은 연습이다, 그것은 쉽게 다른 사람의 코드를 읽을 수 있기 때문이다.
그리고 필요가있다 당신이 다른 클래스에 같은 이름을 가진 객체가있을 때, 다음 "자기"keywork는 같은 클래스의 객체를 참조하는 소프트웨어를 말할 것이다. 일반적으로 더 큰 프로젝트에 happends
을.
- 1. 이 계약을 증명하기 위해서는 무엇이 필요합니까? 필요합니까?
- 2. UINavigationController가 필요합니까?
- 3. Zend_Acl이 필요합니까?
- 4. UINavigationController가 필요합니까?
- 5. 쿠키가 필요합니까?
- 6. 프로필이 필요합니까?
- 7. app.config가 필요합니까?
- 8. AssemblyInfo.cpp가 필요합니까?
- 9. _mmServerScripts가 필요합니까?
- 10. Liferay에 Jikes 컴파일러가 필요합니까?
- 11. iPhone UITextField가 어떻게 필요합니까?
- 12. 실제로 Singleton이 필요합니까?
- 13. 양식 태그가 필요합니까?
- 14. RXTX에서 상수 폴링이 필요합니까?
- 15. 왜 저장 버튼이 필요합니까?
- 16. serialVersioUID가 인터페이스에 필요합니까 (아니겠습니까)?
- 17. 샘플을 인코딩하는 ffmpeg가 필요합니까?
- 18. java에 '엔터프라이즈 컨테이너'가 필요합니까?
- 19. node.js에는 상속이 필요합니까?
- 20. UIButton IBOutlet이 많이 필요합니까?
- 21. 디버그 대신 로그가 필요합니까?
- 22. NSCopying은 언제 필요합니까?
- 23. Spamassassin을 사용하려면 컴파일이 필요합니까?
- 24. 정말 MainWindow.xib 파일이 필요합니까?
- 25. 어떤 doctype이 필요합니까?
- 26. 앱 서버가 정말로 필요합니까?
- 27. PHP 폴링이 필요합니까?
- 28. 플래그 속성이 필요합니까?
- 29. mysql_close와 pg_close가 필요합니까?
- 30. "원자"는 여기에 필요합니까?
을 뜻합니까 'self.property = value'에서 'property = value'로 변경합니까? – JBRWilkinson