将数据从自定义表格视图单元格传递到 UIView 控制器
Posted
技术标签:
【中文标题】将数据从自定义表格视图单元格传递到 UIView 控制器【英文标题】:Passing Data from custom tableview cell to UIView controller 【发布时间】:2017-07-03 10:03:14 【问题描述】:我正在关注这个 [博客][1],用于将数据从表格视图中的自定义单元格传递到视图控制器。自定义单元格正在从响应中获取数据,我必须在自定义单元格中显示其中的一些数据,而在详细视图控制器中显示其余数据。谁能确定我的代码中实际问题出在哪里?从 segue 传递数据。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
if ([segue.identifier isEqualToString:@"ShowDetail"])
//Do something
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
ShowViewController *destViewController = segue.destinationViewController;
destViewController.tites = [_Title objectAtIndex:indexPath.row];
destViewController.prce = [_Price objectAtIndex:indexPath.row];
destViewController.ara = [_LandArea objectAtIndex:indexPath.row];
destViewController.phon = [_Phone objectAtIndex:indexPath.row];
destViewController.citi = [_City objectAtIndex:indexPath.row];
destViewController.loc = [_location objectAtIndex:indexPath.row];
destViewController.tye = [_type objectAtIndex:indexPath.row];
destViewController.Idss = [_Id objectAtIndex:indexPath.row];
destViewController.nam = [_name objectAtIndex:indexPath.row];
destViewController.emal = [_email objectAtIndex:indexPath.row];
destViewController.roomss = [_rooms objectAtIndex:indexPath.row];
destViewController.wash = [_washroom objectAtIndex:indexPath.row];
destViewController.flloors = [_floor objectAtIndex:indexPath.row];
destViewController.stat = [_status objectAtIndex:indexPath.row];
destViewController.descrp = [_descrip objectAtIndex:indexPath.row];
destViewController.countryy = [_country objectAtIndex:indexPath.row];
这是我单击单元格时遇到的错误。
由于未捕获的异常“NSUnknownKeyException”而终止应用程序, 原因: '[ setValue:forUndefinedKey:]:这个类不是键值 符合密钥 ID 的编码。首先抛出调用栈:
这是我的ShowViewcontroller.h 文件。
更改代码。
enter image description here
【问题讨论】:
你当前的输出是什么? 你是如何在 ShowViewController 中声明 Idss 的? 随机指定一个名称来访问值。 @AravindAR 不,你可能在 ShowViewController 中声明了 Idss,只是显示它的代码 您已经从 ShowViewController 中删除了任何 Outlet,请正确检查 outlet 【参考方案1】:您可能已将您的outlet
连接从storyboard
删除到您的ViewController
请检查您的插座是否连接正确。 ⚠️
必须有一个 id
属性首先创建并由您删除,在您的 showViewController
中
【讨论】:
它现在向我显示此错误,-[StringData length]: unrecognized selector sent to instance 0x608000138b00 2017-07-03 15:41:20.922 PK.House[10411:854053] *** 终止应用由于未捕获的异常 'NSInvalidArgumentException',原因:'-[StringData length]: unrecognized selector sent to instance 0x608000138b00'ShowViewController
在此显示您的代码,您现在可以检查您的 ViewDidLoad 是否正在调用您的 ShowViewController
【参考方案2】:
检查 ShowViewController 中的属性,因为 destViewController.Idss(颜色显示错误)
@property(nonatomic,strong) NSString *Idss; // Make as this and
@synthesize Idss
还要更改 [_Id objectAtIndex:indexPath.row] // 将 _id 数组名称替换为另一个名称
【讨论】:
进行更改后出现相同的错误。@Lalit kumar 我已经编辑了我的问题并添加了屏幕截图,请查看。@Lalit kumar以上是关于将数据从自定义表格视图单元格传递到 UIView 控制器的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 中将值从自定义单元格设置/传递到视图控制器