0

ナビゲーション コントローラーを使用するアプリに取り組んでいます。ビルドすると、エラーや警告は表示されません。ファイルでメソッドを定義してから、 でmyMethodメソッドを呼び出します。FirstViewController.mviewDidLoad[self myMethod];

コンソールからビルドして実行すると、何も得られませんでした。だから私はNSLog()次のようなステートメントを入れます:

-(void) viewDidLoad {
NSLog(@"Entering viewDidLoad");
[self myMethod];
NSLog(@"Called myMethod");
[super viewDidLoad];
}

コンソールは 2 番目の NSLog ステートメントを返さないため、メソッドの呼び出し中にアプリがクラッシュしたと思われます。

iOS 4.0.1 と iOS 4.1 に設定されたシミュレーターでこれを試しました。私は iOS 4.1 SDK に対してビルドしています。あなたが提供できる助けに本当に感謝します。

更新:デバッガーを実行しましたが、問題がmyMethod. 「EXC_BAD_ACCESS」を受け取る前に、そのメソッドで数行のコードを実行するだけです。コード行は次のとおりです。

-(void)myMethod {
NSMutableArray *someStuff;
NSMutableArray *someMoreStuff;

stuffSections=[[NSMutableArray alloc] initWithObjects:@"Some Stuff",@"Some More Stuff",nil];

someStuff=[[NSMutableArray alloc] init];
someMoreStuff=[[NSMutableArray alloc] init];

[someStuff addObject:[[NSMutableDictionary alloc]initWithObjectsAndKeys:@"Item Name",@"name",@"Item Picture.png",@"picture",@"http://theurl.net/",@"url",@"1",@"itemCode",nil]];

someStuffしかし、配列に何かを追加するこの最初の試みを乗り越えることができないようです。

4

3 に答える 3

0

someStuffとsomeMoreStuffを初期化するときに、割り当てがありません。そのはず

   someStuff = [[NSMutableArray alloc] init];
   someMoreStuff = [[NSMutableArray alloc] init];
于 2010-11-08T16:49:30.200 に答える
0

「myMethod」に問題があるようです。推測する必要がある場合は、自動解放されて保持されていないオブジェクトを参照しようとしていると言えます。

于 2010-11-08T06:07:23.167 に答える
0

2 つの MutableArray をクロスチェックしましたか? それらは正常に割り当てられていますか? 通常はメモリ管理の問題が原因でアプリが破損した状態になると、「EXC_BAD_ACCESS 」が発生します。配列が割り当てられていないと思います。

このように割り当ててみてください。

NSMutableArray * someStuff = [[NSMutableArray alloc]initWithCapacity:3];
NSMutableArray * someMoreStuff = [[NSMutableArray alloc]initWithCapacity:3];

ブレークポイントを追加し、デバッグ領域にチェックがあり、それらが正常に割り当てられているかどうかを確認します。これらの配列のそれぞれにメモリがある場合、それらは割り当てられます。

于 2013-02-28T10:38:05.933 に答える