2016-09-28 11 views
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]; 
} 

당신의 상관 아는 사람?

난 정말 당신의 도움에 감사합니다

+0

사이의 공간 _와 myArray의가있다 : 여기

좋은 대답은? 귀하의 질문이나 귀하의 실제 코드에 오타가 있습니까? NSMutableArray는 스레드로부터 안전하지 않습니다. 동시 디스패치 큐 또는 @synchronized를 사용하여 동시 액세스에서이를 보호 할 것을 제안합니다. 또한 dispatch_once 블록을 사용하여 배열을 할당해야합니다. – Paulw11

+0

@ Paulw11 예, 오타였습니다. @ synchronized 사용법에 대한 예제를 게시 할 수 있습니까? – user2924482

답변