2016-09-28 10 views
0

私は、いくつかのクラスとスレッドがNSMutableArrayを更新しているシングルトンを持っています。しかし、NSMutableArrayにアクセスすると、NSMutableArrayの内容が空であることがわかります。iOS:別のスレッドからのObjective-Cプロパティ呼び出しが空です。

これは私のコードの一部です:

@property (strong, nonatomic) NSMutableArray *myArray; 

-(NSMutableArray*) myArray{ 
    if (_ myArray == nil) { 
     _myArray = [[NSMutableArray alloc]init]; 
    } 
    return _myArray; 
} 

-(void)addToArray:(NSString*)myString{ 
    [self.myArray addObject:myString]; 
} 

NSMutableArraysは常に空ですなぜあなたのどれもが知っていますか?

私は本当にあなたの助けに感謝ます

+0

_とmyarrayの間にスペースはありますか?それはあなたの質問や実際のコードの誤字ですか? NSMutableArrayはスレッドセーフではありません。シリアルディスパッチキューまたは@synchronizedを使用して、同時アクセスから保護することをお勧めします。また、あなたの配列を割り当てるためにdispatch_onceブロックを使用する必要があります – Paulw11

+0

@ Paulw11、それはタイプミスでした。 @synchronizedの使い方の例を投稿できますか? – user2924482

答えて

関連する問題