ios - 调用单例方法 iOS 时出现预期标识符错误

标签 ios methods syntax singleton call

我正在尝试从一个在不同类上使用单例模式的类中调用一个方法。我正在使用一个教程,该教程不使用效果很好的单例,但我似乎无法实现我需要的东西。我不断收到一条错误消息,指出“预期标识符”。我假设这可能是语法问题,但我似乎无法解决它。 POI 是核心数据的 NSManagedObject 子类。

这是我使用单例的版本。错误指向DataSource前的括号。

NSArray *itemGroups = [POI [DataSource sharedInstance] fetchDistinctItemGroupsInManagedObjectContext:managedObjectContext];

这是没有单例的等价物(来自教程)

NSArray *itemGroups = [POI fetchDistinctItemGroupsInManagedObjectContext:managedObjectContext];

最佳答案

如果您希望能够以这种方式使用 POI 类:

NSArray *itemGroups = [POI fetchDistinctItemGroupsInManagedObjectContext:managedObjectContext];  

然后我会建议添加这样的代码:

// POI.h
+ (NSArray *)fetchDistinctItemGroupsInManagedObjectContext:(NSManagedObjectContext *)context;

// POI.m
+ (NSArray *)fetchDistinctItemGroupsInManagedObjectContext:(NSManagedObjectContext *)context {
    return [[DataSource sharedInstance] fetchDistinctItemGroupsInManagedObjectContext: context];
}

关于ios - 调用单例方法 iOS 时出现预期标识符错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31685676/

相关文章:

ios - Swift 4 TableView Cell 不显示正确的图像

java - 使用方法 "getValue()"或获取属性 "value"?

c++ - 语法 "Foo(int v) : val_(v) {}"?

Javascript 多重比较表达式语法

linux - "Linux"Shell 中的引号中的引号中的引号

ios - 如何在 Titanium for iPad 中将选项卡组添加到拆分窗口

ios - UIPanGestureRecognizer 多久给出一次回调?

ios - 如果通过 segue 从另一个选项卡进入,如何从 Controller 中删除 TabBar?

java - 为什么 "if"在此 boolean 方法中没有执行任何操作?

java - 需要帮助调试: Append two ArrayLists using Method - Java