NSARRAY의 makeObjectSperformSelector를 사용하여 부작용을 가져옵니다
-
08-07-2019 - |
문제
객관적인 C 프로그램에 NSARRAY OF FOOS가 있습니다. 그러나 각 foo의 doit 함수를 호출하고 싶지만 nsarray의 makeobjectsperformselector 함수는 원래 foos를 수정할 수 없습니다. 문서. doit 선택기는 doit을 호출 할 때 각 foo의 m 데이터 멤버를 변경합니다. NSARRAY의 각 FOO 에서이 기능을 효율적으로 수행하는 방법은 무엇입니까?
@interface Foo : NSObject {
NSString *m;
}
@property (nonatomic, retain) NSString *m;
-(void)doIt;
@end
해결책
원본을 수정할 수 있습니다 Foo
S, 배열 자체가 아닙니다. 문서에 연결된대로 :
이 방법은 인수를 받아서는 안되며 수신 어레이를 수정하는 부작용이 없어야합니다.
행운을 빕니다!
제휴하지 않습니다 StackOverflow