7

字幕、画像、背景、色、テキストスタイルなど、100万のUITableを作成しました。突然、私はこのテーブル、特に細胞の画像を要求する行でクラッシュしました。コードは次のとおりです。

// Configure the cell:
cell.textLabel.font = [UIFont fontWithName:@"Franklin Gothic Book" size:18];
cell.textLabel.text = [leadershipMenu objectAtIndex:indexPath.row];
cell.detailTextLabel.text = [leadershipSubtitlesMenu objectAtIndex:indexPath.row];

// And here's the statement that causes the crash:
cell.imageView.image = [leadershipPhotosMenu objectAtIndex:indexPath.row];

今、私が得るエラーはこれです:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', 
reason: '-[__NSCFConstantString _isResizable]: unrecognized selector sent to instance 0xcacbc'

クラッシュの原因となったステートメントが

cell.imageView.image = ...

コメントするとすぐにすべてが正常に機能します。

私は私の人生で見たことがありません

-[__NSCFConstantString _isResizable]: 

エラー。私はそれをグーグルで検索しましたが、ほとんど見つかりませんでした。

非常に独特です。

誰か手がかりがありますか?

4

3 に答える 3

12

あなたのコメントで述べたように。画像を保存する方法が問題の原因です。

これを試して..

leadershipPhotosMenu = [[NSMutableArray alloc] initWithObjects:[UIImage imageNamed:@"JohnQ.jpg"], [UIImage imageNamed:@"BillZ.png"], nil];

上記のコードは画像をmutableArrayに保存します。これは機能しますが、画像を配列に保存しないことをお勧めします。

上記のコードのように、画像を配列に保存せずに問題を解決することもできます。

cell.imageView.image = [UIImage imageNamed:(NSString*)[leadershipPhotosMenu objectAtIndex:indexPath.row]];

このエラーメッセージは、内部のオブジェクトleadershipPhotosMenuが画像ではなく文字列であることを意味します

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', 
reason: '-[__NSCFConstantString _isResizable]: unrecognized selector sent to instance 0xcacbc'
于 2012-06-27T04:22:25.883 に答える
1

これを行う:

 cell.imageView.image = [UIImage imageNamed:[leadershipPhotosMenu objectAtIndex:indexPath.row]];
于 2012-06-27T04:17:45.267 に答える
1

画像ではなく、画像の名前を保存しています。ただし、imageViewのプロパティには、画像名ではなくUIImageがあります。したがって、以下の変更を行います。

cell.imageView.image = [UIImage imageNamed:[leadershipPhotosMenu objectAtIndex:indexPath.row]];
于 2012-06-27T04:22:40.987 に答える