IOS / XCODE:在其他类中调用NSFetchedResultsController方法

时间:2015-04-21 02:20:42

标签: ios xcode nsfetchedresultscontroller

我在tableview中有一个NSFetchedResultsController,我试图从另一个控制器调用它但是收到错误。

我将tableVC导入了otherVC但是得到了“没有已知的选择器类方法”fetchedResultsController“。有人能发现我做错了什么吗?谢谢。

code in tableVC.h
-(NSFetchedResultsController *)fetchedResultsController;
tableVC.m
-(NSFetchedResultsController *)fetchedResultsController {
    if (_fetchedResultsController==nil){
        NSFetchRequest *fetchRequest= [[NSFetchRequest alloc] init];
        ...
    return _fetchedResultsController;
}
otherVC.m
#import "tableVC.h"

  [tableVC fetchedResultsController];

感谢您的任何建议。

1 个答案:

答案 0 :(得分:2)

“没有已知的选择器类方法”表示您正在调用类方法,而不是实例方法。

使用前导+符号定义类方法,并使用前导符号定义tableVC.h中的fetchedResultsController,表明它是实例方法。

解决方案是将tableVC.h中fetchedResultsController的方法签名更改为类方法,或者更改otherVC.m中的调用以使用tableVC的实例而不是类本身。

根据您的代码示例,看起来fetchedResultsController方法被正确定义为实例方法,因此您需要在otherVC类中使用tableVC的实例。