Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone iOS-如何在处理自定义单元格中的按钮事件时访问该单元格?_Iphone_Ios_Xcode_Cocoa - Fatal编程技术网

Iphone iOS-如何在处理自定义单元格中的按钮事件时访问该单元格?

Iphone iOS-如何在处理自定义单元格中的按钮事件时访问该单元格?,iphone,ios,xcode,cocoa,Iphone,Ios,Xcode,Cocoa,我有一个自定义单元格,在这个自定义单元格中我有一个按钮和一个标签: #import <UIKit/UIKit.h> @interface ListCell : UITableViewCell{ } @property (nonatomic, retain) IBOutlet UIButton* buttonContent; @property (nonatomic, retain) IBOutlet UILabel* detailContent; @end 当我尝试从自定义单

我有一个自定义单元格,在这个自定义单元格中我有一个按钮和一个标签:

#import <UIKit/UIKit.h>

@interface ListCell : UITableViewCell{

}
@property (nonatomic, retain) IBOutlet UIButton* buttonContent;
@property (nonatomic, retain) IBOutlet UILabel* detailContent;

@end
当我尝试从自定义单元格(ListCell)访问任何项目时,它会引发异常:

我想我得到定制手机的方式是错误的。有人知道如何正确获得它吗?

提前感谢

好的,我明白了,很抱歉没有正确回答您的问题。您可以做的是在将标签视图添加到单元格之前,为其分配一个teg,然后在检索时使用

UILabel *name = (UILabel *)[cell viewWithTag:kLabelTag];

并设置标签的文本

好的,我知道了,很抱歉没有正确回答您的问题。您可以做的是在将标签视图添加到单元格之前为其分配一个teg,然后在重试时使用

UILabel *name = (UILabel *)[cell viewWithTag:kLabelTag];

并设置标签的文本

是否确定调用了正确的类? 您确定按钮的超级视图类是ListCell类吗

请尝试检查以下内容:

    // (...)
    ListCell *cell = (ListCell *)button.superview;
    if ([cell.class isSubclassOfClass:[ListCell class]]) {
        ///// just a check for indexPath: /////
        NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];
        NSLog(@"current indexPath: %@", indexPath );
        ///////////// END CHECK ///////////////
        cell.detailContent.text = @"FALSE"; 
    }else{
        NSLog(@"NOT THE RIGHT CLASS!!!");
    }

你确定你找对了班级吗? 您确定按钮的超级视图类是ListCell类吗

请尝试检查以下内容:

    // (...)
    ListCell *cell = (ListCell *)button.superview;
    if ([cell.class isSubclassOfClass:[ListCell class]]) {
        ///// just a check for indexPath: /////
        NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];
        NSLog(@"current indexPath: %@", indexPath );
        ///////////// END CHECK ///////////////
        cell.detailContent.text = @"FALSE"; 
    }else{
        NSLog(@"NOT THE RIGHT CLASS!!!");
    }

请将cellForRowAtIndexPath:也发布。问题1:您的自定义单元格实现中是否有
@synthesis
?问题2:为什么您首先要获取单元格-您的按钮应该调用单元格上的一个方法来告诉它更改文本。您的按钮代码不应该直接访问单元格内容。@Mat:我已经添加了cellforrowatinexpath。尼克·布尔:1,是的,我有。2,我确实需要在单击按钮时访问单元格,我发布的代码已简化。请发布cellForRowAtIndexPath:太。问题1:您的自定义单元格实现中是否有
@synthesis
?问题2:为什么您首先要获取单元格-您的按钮应该调用单元格上的一个方法来告诉它更改文本。您的按钮代码不应该直接访问单元格内容。@Mat:我已经添加了cellforrowatinexpath。尼克·布尔:1,是的,我有。2,我确实需要在单击按钮时访问单元格,我发布的代码是simplifieddetailContent是一个自定义属性LabelDetailContent可能是ListCell的属性。detailContent是一个自定义属性LabelDetailContent可能是ListCell的属性。行
NSIndexPath*indecPath=[self.tableView indexPathForCell:cell];有没有?它可能会对未使用的变量发出警告indexpath@meronix:是的,你说得对,它既不是ListCell也不是UtableViewCell。ListCell*单元格=(ListCell*)button.superview.superview;是获取手机的正确方法。谢谢你的帮助answer@ClaricPWI:是的,你说得对,它只是为了检查……我从我的项目中粘贴了它,现在我重新添加了一个日志,以便使用editwhat行
nsindepath*indecPath=[self.tableView indexPathForCell:cell]有没有?它可能会对未使用的变量发出警告indexpath@meronix:是的,你说得对,它既不是ListCell也不是UtableViewCell。ListCell*单元格=(ListCell*)button.superview.superview;是获取手机的正确方法。谢谢你的帮助answer@Claric是的,你是对的,它只是为了检查…我从我的项目中粘贴了它,现在我重新添加了一个日志,通过编辑使其有意义