1
Objective-C에서 iOS 프로그래밍을 처음 사용했습니다. 약한 속성을 사용하는 대리자에 대한 포인터를 선언해야한다는 것을 알고 있습니다. 델리게이트의 NSMutableArray는 어떻습니까? 일대 다 관계에서,iOS에서 델리게이트 배열을위한 포인터가 약합니까?
@protocol IHandler <NSObject>
- (void)addDelegate: (id<IDelegate>) delegate;
- (void)removeDelegate: (id<IDelegate>) delegate;
- (BOOL)hasDelegate: (id<IDelegate>) delegate;
- (void)clearDelegates;
@end
그래서'(id) delegate'을 type-safety를위한 인터페이스에두고 있지만 .m의 NSPointerArray를 사용해야합니다. NSPointerArray 항목을 살펴볼 때 nil과 비교해야합니까? –
4ntoine
CFSetCreateMutable (NULL, 0, NULL)에 의해 생성 된'NSPointerArray' 또는'NSMutableSet'은 무엇이 선호됩니까? 왜? (http://a-coding.com/observer-pattern-in-objective-c/) – 4ntoine
'NSPoniterArray'가 바람직 할 것입니다 - 그런 종류의 세트 (또는 이와 동등한'CFArray')는 weak 참조가 아닌 unsafe_unretained 포인터를 호스트합니다 . 그리고 예, 당신은 아마도 당신이 디자인 한 인터페이스를 유지하여 사람과 컴파일러가 경고를 확인하기 위해 프로토콜이 필요하다는 것을 알릴 수 있습니다. – Tommy