Dav*_*vid 4 xcode cell uitableview ios
我已成功创建了我的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;
}
Run Code Online (Sandbox Code Playgroud)
这是另一种方法.我在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];
}
Run Code Online (Sandbox Code Playgroud)
这是MyCell
#import <UIKit/UIKit.h>
@interface MyCell : UITableViewCell
@property (nonatomic,strong) IBOutlet UILabel *accountCode;
@property (nonatomic,strong) IBOutlet UILabel *accountName;
@end
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.
改变这个:
MyCell *cell = [tableView cellForRowAtIndexPath:indexPath];
Run Code Online (Sandbox Code Playgroud)
以下内容:
MyCell *cell = (MyCell *) [tableView cellForRowAtIndexPath:indexPath];
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1771 次 |
最近记录: |