objective-c - 自定义表格 View 单元格上无法识别的选择器错误

标签 objective-c ios

我正在使用自定义单元格来显示信息。当我使用 NSString 将信息传递给 UILabel 时,出现以下错误。

错误:

[HITEstimationCustomViewCell isEqualToString:]: unrecognized selector sent to instance 0x6892f80

2012-10-23 01:38:04.821 MyApp[13298:c07] * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[HITEstimationCustomViewCell isEqualToString:]: unrecognized selector sent to instance 0x6892f80

单元格详细信息:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"EstimationCellIdentifier";

    static BOOL nibsRegistered = NO;

    if(!nibsRegistered)
    {
        UINib *nib = [UINib nibWithNibName:@"HITEstimationCustomViewCell" bundle:nil];

        [tableView registerNib:nib forCellReuseIdentifier:CellIdentifier];

        nibsRegistered = YES;
    }


    HITEstimationCustomViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    NSUInteger row = [indexPath row];
    NSString *rowData =[estimationListArray objectAtIndex:row];

    cell.nameTextField = rowData;
    cell.emailIdTextField = [estimationListArray objectAtIndex:row];

return cell;
'

实例:

HITEstimationCustomViewCell *newCell = [[HITEstimationCustomViewCell alloc] initWithNameField:@"Michael" emailId:@"mike@mike.com" skypeId:@"mrmike" hourlyRate:@"$25" numberOfHours:@"20" totalCost:@"$1000"];

    NSMutableArray *myArray = [[NSMutableArray alloc] initWithObjects:newCell, nil];

self.estimationListArray = myArray;

接口(interface):

@interface HITEstimationCustomViewCell : UITableViewCell

@property (weak, nonatomic) IBOutlet UILabel *nameField;
@property (weak, nonatomic) IBOutlet UILabel *totalCost;
@property (weak, nonatomic) IBOutlet UILabel *hourlyRate;
@property (weak, nonatomic) IBOutlet UILabel *emailId;
@property (weak, nonatomic) IBOutlet UILabel *skypeId;
@property (weak, nonatomic) IBOutlet UILabel *numberOfHours;

@property (copy, nonatomic) NSString *nameTextField;
@property (copy, nonatomic) NSString *totalCostTextField;
@property (copy, nonatomic) NSString *hourRateTextField;
@property (copy, nonatomic) NSString *emailIdTextField;
@property (copy, nonatomic) NSString *skypeIdTextField;
@property (copy, nonatomic) NSString *numberOfHoursTextField;


-(id)initWithNameField:(NSString *)name emailId:(NSString *)email skypeId:(NSString *)skype hourlyRate:(NSString *)hourlyPrice numberOfHours:(NSString *)Hours totalCost:(NSString *)total;


@end

实现:

@implementation HITEstimationCustomViewCell

@synthesize nameField;
@synthesize totalCost;
@synthesize hourlyRate;
@synthesize emailId;
@synthesize skypeId;
@synthesize numberOfHours;

@synthesize nameTextField;
@synthesize totalCostTextField;
@synthesize hourRateTextField;
@synthesize emailIdTextField;
@synthesize skypeIdTextField;
@synthesize numberOfHoursTextField;



-(void)setNameTextField:(NSString *)n
{
    if(![n isEqualToString:nameTextField])
    {
        nameTextField = [n copy];

        nameField.text = nameTextField;
    }
}


-(id)initWithNameField:(NSString *)name emailId:(NSString *)email skypeId:(NSString *)skype hourlyRate:(NSString *)hourlyPrice numberOfHours:(NSString *)Hours totalCost:(NSString *)total
{

    self = [super init];
    if(self)
    {

        self.nameTextField = name;
        self.emailIdTextField = email;
        self.skypeIdTextField =skype;
        self.hourRateTextField = hourlyPrice;
        self.numberOfHoursTextField = Hours;
        self.totalCostTextField = total;

    }

    return self;
}

我是 IOS 和 XCode 的新手,一直在尝试在论坛上找到的很多东西,但未能解决问题。

最佳答案

错误消息会告诉您需要知道的一切:

[HITEstimationCustomViewCell isEqualToString:]: unrecognized selector sent to instance
       ^                              ^
       Class Name                     Method Name

您正在 HITEstimationCustomViewCell 实例上调用 isEqualToString:

查看调用 isEqualToString: 的位置并向后工作。您会看到您正在将 HITEstimationCustomViewCell 实例分配给 nameTextField 属性,而不是 NSString

关于objective-c - 自定义表格 View 单元格上无法识别的选择器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13019257/

相关文章:

iOS Soundcloud 登录问题

ios - UITableViewCell 框架高度与 tableView 不匹配 :heightForRowAtIndexPath:

ios - 使用第二个 UITableView 滚动 UITableView

ios - 如何在 UIWebView Video Player 中添加 OverLay View?

ios - 使用 RestKit 序列化 JSON 时忽略 nil 属性

ios - 当应用程序快速进入后台时,如何使用 AVLayer 继续将视频作为 VideoView 层播放

objective-c - 在 Objective C 中,如何以编程方式访问 UIViewController?

ios - 如何在 iOS 中通过编码更改应用程序图标?

ios - 如何将 URL 作为图像加载?

iOS 测试版本打开后关闭