메시지와 C 스타일 함수는 언제 사용해야합니까?스몰 토크 스타일 메시지 대 C 스타일 함수
답변
Objective-c가 그 차이를 나타냅니다. 메시지 은을 개체에 보내야하지만 언제든지 사용할 수 있습니다.
:목표 - C 메시지는 객체로 전송 될 수 있으며, 메시징 시스템은 클래스의 메서드 호출을 할 수있는 방법 입니다.
예 :
// a class interface definition
// including a method named aMethod
@interface ANObject
{
}
- (void)aMethod;
@end
// a message sent to that object:
ANObject * myObject = [[ANObject alloc] init];
[myObject aMethod]; // <-- message
[myObject release];
기능 :
오브젝티브 C는 C 스타일의 함수 호출이 지원되도록, C 언어의 모든 상속, 심지어 상황이 그들에게 요구할 때 격려했다. Objective-C 객체는 단순히 포인터처럼 전달되기 때문에 인수로 함수에 전달할 수 있습니다. 함수에 대한 포인터를 전달하는 것에 대한 일반적인주의와 규칙은 물론 존중되어야합니다.
예 :
// a regular C-style function
void someFunction(ANObject * argument)
{
// do something here...
}
// and how to call it:
someFunction(someObject);
각을 할 때 사용하는?
개체/클래스의 일부 속성에 액세스하려면 메시지/방법 을 사용하십시오.
[myAccount withdrawMoneyAndDriveToMexico];
사용 C : 일부 작업을 수행 할
[myObject setHidden:YES];
또는 객체를 말하는 : 속성의 값을 설정
int stringLength = [myString length];
: 좋은 예는있는 NSString의 길이에 액세스 할 것 스타일 클래스에 속하지 않는 작업을 수행하려는 경우; 혼자 서 있어야하는 것. 좋은 예는 다음과 같은 수학 함수가 될 것입니다 :
double degrees = ConvertRadiansToDegrees(radians);
기본적으로 Objective C 구성 요소를 다루는 동안 메시지를 사용하십시오. NS * 유형을 사용할 때 언제나 더 많거나 적은.
어떤 경우에도 기본적으로 C 함수 호출을 사용하고 있습니다. Objective C의 원래 구현은 C에 대한 전처리 기가되었습니다. 그러나 Objective C를 사용하는 요점은 스몰 토크와 같은 구문을 얻는 것입니다.이 구문은 [] 내부에있는 것입니다.
많은 Java 관련 질문을 던졌습니다. 아마도 Java 비유가 도움이 될 것입니다.Java에서 메소드를 사용하는 곳에서는 Objective-C에서 메시지를 사용하십시오. Java에서 정적 메서드를 사용하는 곳에서는 Objective-C의 클래스 메서드를 사용합니다. 정적 방법으로 가득 찬 유틸리티 패키지를 Java로 작성하면 Objective-C의 함수로 이해할 수 있습니다.
물론, 이상한 Objective-C++ 작업을 수행하는 것이 맞을 수도 있습니다.
- 1. 스몰 토크 수퍼 클래스 대 메타 클래스?
- 2. 얼랭 스타일 분산 메시지 전달 기능을 갖춘 스몰 토크 버전이 있습니까?
- 3. C API 함수 스타일
- 4. GNU 스몰 토크 API?
- 5. 스몰 토크 및 IoC
- 6. 스몰 토크, 개행 문자
- 7. .NET상의 모든 스몰 토크?
- 8. 스몰 토크 그래프 이론 라이브러리
- 9. 공장 방법의 스몰 토크 상당?
- 10. 돌고래 스몰 토크 - 메서드 추가
- 11. 방법 검사 누출/스몰 토크
- 12. 스몰 토크 용 퀵 체크?
- 13. 스타일 오류 메시지 - symfony
- 14. GNU 스몰 토크 - 출력 형식 지정 및 GC 메시지 비활성화
- 15. 스타일 대 ControlTemplate
- 16. PHP의 람다 스타일 함수
- 17. 스몰 토크 용 클래스 인터페이스 구현이 있습니까?
- 18. 스몰 토크 초보자 용 응용 프로그램 구축
- 19. Python에서 Objective C 함수 호출 스타일 사용
- 20. 스몰 토크 클래스의 인스턴스 변수 재정의
- 21. Pharo/Squeak에서 스몰 토크 코드를 인쇄하는 방법?
- 22. 스몰 토크, 문자열에 탭을 삽입하는 방법
- 23. 스몰 토크 구현은 모두 호환 가능합니까?
- 24. 스몰 토크, 목록 위젯에 OrderedCollection 표시
- 25. 스몰 토크 - 두 문자열을 비교하여 동일성을 비교하십시오.
- 26. 파이썬과 스몰 토크 - 메타 프로그래밍 능력 비교
- 27. ++ 스타일
- 28. 높이 대 라인 높이 스타일
- 29. Lisp 스타일 : setq 대 setf
- 30. BLToolkit 대 Linq2SQL 매핑 스타일
내 게시물을 보내 주셔서 감사합니다. – Jake