使用自定义Xib在UITableViewCell上加载数据

时间:2011-04-19 18:06:46

标签: ios ios4 uitableview properties

我用IB

创建了一个自定义单元格

在我的界面中,我有3个UILabel和一个UIImageView。

我连接了所有插座然后再回到我的控制器中,我有以下代码

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    static NSString* MyIndenifier = @"MyCell";
PersonCell* cell = (PersonCell*)[tableView dequeueReusableCellWithIdentifier:MyIndenifier];
if (cell == nil) {
    NSArray* nib = [[NSBundle mainBundle] loadNibNamed:@"PersonCell" owner:self options:nil];
    cell = (PersonCell *)[nib objectAtIndex:0];
    cell.nameLabel.text = [[mutablePeopleArray objectAtIndex:indexPath.row] getContactName];
}

return cell;

在我的PersonCell.h中,我在.h文件中有以下内容

#import <UIKit/UIKit.h>


@interface PersonCell : UITableViewCell {
IBOutlet    UILabel*        nameLabel;
IBOutlet    UIImageView*    thumbnailImage;
IBOutlet    UILabel*        addressLabelStreet;
IBOutlet    UILabel*        addressLabelCityAndStateWithZip;
}

- (void)setNameLabel:(NSString *)paramNameText;
- (void)setThumbnailImage:(UIImage *)paramImage;
- (void)setAddressLabel:(NSString *)paramAddress;

@property (nonatomic, retain) UILabel* nameLabel;
@property (nonatomic, retain) UILabel* addressLabelStreet;
@property (nonatomic, retain) UILabel* addressLabelCityAndStateWithZip;
@property (nonatomic, retain) UIImageView* thumbnailImage;

@end

}

我收到以下错误

PersonCell.h:28:错误:setter'-thumbnailImage'参数类型与属性类型不匹配 PersonCell.h:28:错误:setter'-nameLabel'参数类型与属性类型不匹配 PersonCell.h:28:错误:setter'- addressLabelStreet'参数类型与属性类型不匹配 PersonCell.h:28:错误:setter'-addressLabelCityAndStateWithZip'参数类型与属性类型不匹配

2 个答案:

答案 0 :(得分:1)

你已经使用了getter和setter属性,所以为什么使用自定义set方法只需使用:name Label.text = @“some text” 在你需要的实施中。

答案 1 :(得分:1)

看起来您定义了setter,因此您无法使用properties / synthesize。

如果你正在使用setter做一些自定义的事情,那么创建一个新的方法名称,如

  • (void)MyCustomNameForHandlingAddresses