遇到了SDK3.0的弃用,我在尝试弄清楚时遇到了一些麻烦。如果我的声明
@property (nonatomic, retain) UIImage *rowImage;
不起作用,也
@property (nonatomic, readonly, retain) UIImage *rowImage;
和我
@synthesize rowImage;
我是否需要编写自己的setter,因为@synthesize
无法正确处理此问题?
<hr>
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:RootViewControllerCell] autorelease];
// Dpericated in SDK 3.0 <br>
//<br>
//cell.text = controller.title;<br>
//cell.image = controller.rowImage;<br>
// Using what the documentation says to use
Error===> cell.textLabel = controller.title;<br>
Error===> cell.imageView = controller.rowImage;<br>
Error: Object cannot be set - Either readonly property or no setter found.
希望这是有道理的,任何帮助都会受到赞赏。
答案 0 :(得分:3)
使用未弃用的:
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:RootViewControllerCell] autorelease];
然后:
[[cell textLabel] setText:[controller title]]; <br>
[[cell imageView] setImage:[controller rowImage]];
答案 1 :(得分:3)
你也可以使用通常的。-syntax:
cell.textLabel.text = controller.title;