Iphone Can';t连接自定义UITableViewCell的IBOutlet

Iphone Can';t连接自定义UITableViewCell的IBOutlet,iphone,xcode,uitableview,iboutlet,Iphone,Xcode,Uitableview,Iboutlet,我在Xcode 4中尝试为我的iPhone应用程序创建自定义tableview单元格时遇到问题。我已经创建了.h和.m文件,为单元格中应该存在的所有子视图创建了IBOutlets,并将实际控件拖动到Interface Builder中单元格的XIB文件中。但是,我不知道如何将插座连接到IB控件。我读过的每个教程都说要控制从对象列表中的TableViewCell对象到子视图的拖动,但当我这样做时,弹出窗口中不会列出我的IBOutlet。唯一可用的插座是“AccessoryView”、“backgr

我在Xcode 4中尝试为我的iPhone应用程序创建自定义tableview单元格时遇到问题。我已经创建了.h和.m文件,为单元格中应该存在的所有子视图创建了IBOutlets,并将实际控件拖动到Interface Builder中单元格的XIB文件中。但是,我不知道如何将插座连接到IB控件。我读过的每个教程都说要控制从对象列表中的TableViewCell对象到子视图的拖动,但当我这样做时,弹出窗口中不会列出我的IBOutlet。唯一可用的插座是“AccessoryView”、“backgroundView”、“editingAccessoryView”和“backgroundSelectedView”。我不也应该在列表中看到我自己的iboutlet吗?还是我没有遵循正确的程序?(我对iPhone的开发还很陌生)

以下是我用于自定义单元格类的代码:

.h:


(注意,为了简化计算,我现在将子视图简化为“artwork”图像视图)。谢谢你的帮助

除非我有误解:

尝试添加IBOutlet标记

IBOutlet UIImageView *artwork;


此标记是一个#define in Xcode,它告诉Interface Builder识别您的代码。

您必须将Interface Builder中表视图单元格的类标识设置为自定义类,即使
.xib
文件的名称与自定义类的名称相同,您仍然需要明确指出该文件的所有者是RecommendationCell类型的对象

另一个问题(Patrick提到)是您应该在.h中的
@property
声明中声明一个
IBOutlet
,而不是实例变量,如下所示:

UIImageView *artwork;

@property (nonatomic, retain) IBOutlet UIImageView *artwork;

想更新,因为我最近遇到了这个。在xcode 7.1.1中,您不能像通常对UIViewController xib那样从文件所有者处拖动

转到interface builder中自定义UITableViewCell的.xib文件

这很难解释,所以我加入了一张图片,虽然我不确定我真的解释得很好,但希望能有所帮助。或者至少如果我再遇到它,我会知道我在说什么

右键单击包含UILabel或UIImage等的自定义uitableviewcell


这将打开一个菜单,列出自定义uitableviewcell中包含的所有IBoutlet和对象。将鼠标放在右侧的空圆圈上,按住ctrl键单击并拖动到对象上。

FACEPALM。哇,真尴尬。不过谢谢,这确实解决了问题。:)+1,但最佳实践是在
@属性上声明,如mmalc所述:
IBOutlet UIImageView *artwork;
@property (nonatomic, retain) IBOutlet UIImageView *artwork;
UIImageView *artwork;

@property (nonatomic, retain) IBOutlet UIImageView *artwork;