0

実際、2つの画像オブジェクトと1つのテキストオブジェクトを含むカスタムセルが必要だったので、それらのオブジェクトのコンテナを作成することにしました。

では、画像をオブジェクトに保持し、そのオブジェクトを任意のコレクションオブジェクトに挿入し、後でそのオブジェクトを使用してセル内に表示することは可能ですか?

4

2 に答える 2

2

NSArray と NSDictionary はどちらもオブジェクトを保持します。これらは、テーブル ビューで使用する可能性が最も高いコレクションです。

やろうとしていることを実装する最善の方法は、UIImage クラスを使用することです。UIImages は CGImage をラップし、すべてのメモリ管理を行います (アプリのメモリが不足している場合、画像データは消去され、描画時に自動的に再読み込みされます。かなりクールですね)。また、ファイルから画像を非常に簡単に読み取ることもできます。このクラスを使用します (多数のフォーマットがサポートされています)。

詳細については、NSArray、NSMutableArray、および UIImage のドキュメントを参照してください。

//create a UIImage from a jpeg image
UIImage *myImage = [UIImage imageWithContentsOfFile:@"myImage.jpg"];
NSArray *myArray = [NSMutableArray array];      // this will autorelease, so if you need to keep it around, retain it
[myArray addObject:myImage];



//to draw this image in a UIView's drawRect method
CGContextRef context = UIGraphicsGetCurrentContext();  // you need to find the context to draw into
UIImage *myImage = [myArray lastObject];   // this gets the last object from an array, use the objectAtIndex: method to get a an object with a specific index
CGImageRef *myCGImage = [myImage CGImage];
CGContextDrawImage(context, rect, myCGImage);  //rect is passed to drawRect
于 2008-10-08T16:49:18.367 に答える
1

それで問題はないはずです。それを適切に保持していることと、クラスにないことを確認してください。

于 2008-10-08T05:37:51.140 に答える