0

私はXCode4.4でObjective-Cコードを書いています。クラスk_infoのインスタンス変数としてNSMutableArrayがあり、onesplacesという名前で(nonatomic、retain)プロパティを定義および合成しました。NSMutableArrayの1つの場所にNSMUtableStringオブジェクトを追加できません。追加しようとすると、1つの場所のサイズは0のままで、インデックスがゼロのオブジェクトは明らかにnullのままです。「自己」キーワードを使用して、または使用せずにこれを実行しようとしましたが、どちらの場合も機能しませんでした。オブジェクトを追加して出力する私の構文は正しいです。新しいNSMutableArrayテストを作成し、同じことを実行しようとすると、それはそれに対して機能しますが、インスタンス変数の1つの場所に対しては機能しないからです。この問題を解決せずにプロジェクトを進めることはできません。なぜそれが起こっているのか、そしてこの問題をどのように解決すればよいのかを教えてください。

-(void)createinfo:(NSMutableArray )al varsis:(int)vars {NSMutableString stes = [[NSMutableString alloc] init]; stes =(NSMutableString *)@ "string0";

  [ onesplaces addObject:stes];
  NSLog(@"%u",[onesplaces count]);
  NSLog(@"value is: %@ ",[ onesplaces objectAtIndex:0]);

  [ self.onesplaces addObject:stes];
   NSLog(@"%u",[onesplaces count]);
   NSLog(@"value is: %@ ",[self.onesplaces objectAtIndex:0]);

  NSMutableArray* test=[[NSMutableArray alloc]init];
  [ test addObject:stes];
   NSLog(@"%u",[test count]);
  NSLog(@"value is: %@ ",[test objectAtIndex:0]);

}
4

1 に答える 1

1

おそらくアレイを作成するのを忘れたでしょう。コードのどこか、おそらくinitメソッドのどこかで、使用する前に配列を作成する必要があります。

self.onesplaces = [[NSMutableArray alloc] init];

Objective-Cではメッセージをnilに送信できるため、エラーメッセージの代わりにメッセージが表示されますnil。nilは常にnilを返します。

于 2012-11-24T19:07:16.570 に答える