0
여러 클래스와 스레드가 NSMutableArray를 업데이트하는 곳이 있습니다. 그러나 NSMutableArray에 액세스하면 NSMutableArray의 내용이 비어있는 것을 볼 수 있습니다.iOS : 다른 스레드에서 Objective-C 속성 호출이 비어 있습니다.
이 내 코드의 일부입니다 다음 NSMutableArrays은 항상 비어있는 이유
이@property (strong, nonatomic) NSMutableArray *myArray;
-(NSMutableArray*) myArray{
if (_ myArray == nil) {
_myArray = [[NSMutableArray alloc]init];
}
return _myArray;
}
-(void)addToArray:(NSString*)myString{
[self.myArray addObject:myString];
}
당신의 상관 아는 사람?
난 정말 당신의 도움에 감사합니다
사이의 공간 _와 myArray의가있다 : 여기
좋은 대답은? 귀하의 질문이나 귀하의 실제 코드에 오타가 있습니까? NSMutableArray는 스레드로부터 안전하지 않습니다. 동시 디스패치 큐 또는 @synchronized를 사용하여 동시 액세스에서이를 보호 할 것을 제안합니다. 또한 dispatch_once 블록을 사용하여 배열을 할당해야합니다. – Paulw11@ Paulw11 예, 오타였습니다. @ synchronized 사용법에 대한 예제를 게시 할 수 있습니까? – user2924482