ios – 在XCODE中使用我自己的Cell对象
发布时间:2020-12-14 18:06:06 所属栏目:百科 来源:网络整理
导读:我已成功创建了我的on“cell”对象(基于UITableViewCell),并在通过cellForRowAtIndexPath构建表时成功使用了它. 但是,如何在didSelectRowAtIndexPath中解构我所做的事情? 我目前收到错误“不兼容的指针类型初始化’MyCell * __ strong’,表达式为’UITableV
我已成功创建了我的on“cell”对象(基于UITableViewCell),并在通过cellForRowAtIndexPath构建表时成功使用了它.
但是,如何在didSelectRowAtIndexPath中解构我所做的事情? 我目前收到错误“不兼容的指针类型初始化’MyCell * __ strong’,表达式为’UITableViewCell’” 鉴于我的对象(MyCell)基于UITableViewCell,我不明白为什么我会收到此错误. 你能帮我理解我做错了吗? 我的另一种选择是对单元格中的两个标签中的每个标签使用“TAG”并以这种方式获得它们,但我只是在这里试验,试图了解更多关于这一切是如何工作的. 任何帮助将不胜感激. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"myCellID"; MyCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; if (cell == nil) { cell = [[MyCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; } cell.accountCode.text = @"0009810"; cell.accountName.text = @"Agent Name"; return cell; } 这是另一种方法.我在MyCell上遇到错误* cell = [tableView cellForRowAtIndexPath:indexPath]; - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { // Get the cell that was selected MyCell *cell = [tableView cellForRowAtIndexPath:indexPath]; AccountRecord *accountRecord = [[AccountRecord alloc] init]; accountRecord.accountCode = cell.accountCode.text; accountRecord.accountName = cell.accountName.text; [self performSegueWithIdentifier:@"AccountDetail" sender:accountRecord]; } 这是MyCell #import <UIKit/UIKit.h> @interface MyCell : UITableViewCell @property (nonatomic,strong) IBOutlet UILabel *accountCode; @property (nonatomic,strong) IBOutlet UILabel *accountName; @end 任何帮助,将不胜感激. 解决方法
改变这个:
MyCell *cell = [tableView cellForRowAtIndexPath:indexPath]; 以下内容: MyCell *cell = (MyCell *) [tableView cellForRowAtIndexPath:indexPath]; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |