2

NSMutableArrayからテーブルビューセルの画像ビュー内に画像を読み込もうとしました。しかし 、キャッチされない例外'NSInvalidArgumentException'、理由:'-[UIImage length]:認識されないセレクターがインスタンスに送信されたためにアプリを終了するという警告が表示されます。

このサイトに掲載されている多くの解決策を試しました。しかし、それは私にとってはうまくいきません。

これは私のコードです:

recipe1.numbers1=[[NSMutableArray alloc] initWithObjects:
                                         [UIImage imageNamed:@"1.png"], 
                                         [UIImage imageNamed:@"2.png"], 
                                         [UIImage imageNamed:@"3.png"], 
                                         [UIImage imageNamed:@"4.png"], 
                                         [UIImage imageNamed:@"5.png"], 
                                         [UIImage imageNamed:@"6.png"], 
                                         [UIImage imageNamed:@"7.png"], 
                                         [UIImage imageNamed:@"8.png"],                                                                                                                                                                                     
                                         [UIImage imageNamed:@"9.png"], 
                                         [UIImage imageNamed:@"10.png"], nil];

これは私がそれらの画像にアクセスする方法です:

cell1.numbersImageview1.image = [UIImage imageNamed:[recipe.numbers1 objectAtIndex:indexPath.row]];
4

3 に答える 3

2

エラーは、配列から画像にアクセスする方法です。すでにUIImageオブジェクトをそこに格納しています。呼び出す必要はありません(エラーです)imageNamed:。行を次のように変更します。

cell1.numbersImageview1.image = [recipe.numbers1 objectAtIndex:indexPath.row];

編集

コードで、配列の要素へのアクセスを別のオブジェクトとして追加している場合は、コード全体を次のように変更してみてください。

recipe1.numbers1=[[NSMutableArray alloc] initWithObjects:
                   [UIImage imageNamed:@"1.png"], [UIImage imageNamed:@"2.png"], 
                   [UIImage imageNamed:@"3.png"], [UIImage imageNamed:@"4.png"], 
                   [UIImage imageNamed:@"5.png"], [UIImage imageNamed:@"6.png"], 
                   [UIImage imageNamed:@"7.png"], [UIImage imageNamed:@"8.png"], 
                   [UIImage imageNamed:@"9.png"], [UIImage imageNamed:@"10.png"], nil];


cell1.numbersImageview1.image = [recipe.numbers1 objectAtIndex:indexPath.row];
于 2013-03-25T07:21:42.447 に答える
0

あなたはそれを間違ってやっていますこの行を変更してください:

cell1.numbersImageview1.image = [UIImage imageNamed:[recipe.numbers1 objectAtIndex:indexPath.row]];nil];

cell1.numbersImageview1.image = [recipe1.numbers1 objectAtIndex:indexPath.row];
于 2013-03-25T07:22:22.870 に答える
0
you try this one also once.

- (void)viewDidLoad
{
   recipe1.numbers1=[[NSMutableArray alloc] initWithObjects:@"1.png",@"2.png",@"3.png",@"4.png",@"5.png",@"6.png",@"7.png",@"8.png",@"9.png",@"10.png"];
}



-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{
      ....................
      ....................

NSString *imagename=[recipe1.numbers1 objectAtIndexPath:indexPath.row];
cell1.numbersImageview1.image =[UIImage imageNamed:imagename];
}
于 2013-03-25T09:01:32.613 に答える