【发布时间】:2014-02-05 17:04:02
【问题描述】:
我是 iOS 开发和核心数据 fetchresultscontroller 的新手。我在将对象从 tableview 传递/segue 到另一个 tableview 时遇到问题。
下面是我的代码:
if([[segue identifier]isEqualToString:@"expenses"]){
ExpensesTableViewController *exp = (ExpensesTableViewController*)[segue destinationViewController];
NSIndexPath *path = [[self tableView]indexPathForSelectedRow];
Budget *b = [_fetch objectAtIndexPath:path];
[exp setCurrentBudget:b];
}
当点击其中一个 tableview 单元格时,我期待将一个对象发送到另一个 segue tableview。但是我收到此错误消息:
"Unknown class ExpenseInBudgetTableViewController in Interface Builder file."...
"[UITableViewController setCurrentBudget:]: unrecognized selector sent to instance 0x8d74a60"...
"Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITableViewController setCurrentBudget:]: unrecognized selector sent to instance 0x8d74a60'"
我已经在自定义类字段中正确插入了匹配的类,但我不确定我还应该检查什么。
另外由于某种原因,如果我将一个对象传递给普通的 ViewController,使用相同的代码(但 ViewContoller 类),预期的结果是正确的。
所以,我想知道将对象传递给 tableview 控制器和普通视图控制器是否有很大区别,或者我做错了什么?
非常感谢。
【问题讨论】:
-
您是否注意到在您的代码中您有 ExpensesTableViewController,而在错误消息中您有 ExpenseInBudgetTableViewController。这里有线索吗?
-
是的,我实际上是在寻找为什么它说“Interface Builder 文件中的未知类 ExpenseInBudgetTableViewController”。我检查了当前表视图是否导入了第二个表视图,并且在第二个表视图中它具有 currentBudget 属性
-
#import
#import "Budget.h" (at)interface ExpensesTableViewController : UITableViewController (at)property (nonatomic, strong)Budget *currentBudget; (在)结束
标签: ios iphone objective-c core-data