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

时间:2015-07-28 19:43:49

标签: ios methods syntax singleton call

我试图从一个在不同类上使用单例模式的类调用方法。我使用的教程并没有使用效果很好的单例,但我似乎无法实现我需要的东西。我一直收到一个错误,上面写着预期的标识符。我假设这可能是由于语法原因,但我似乎无法解决它。 POI是来自核心数据的NSManagedObject子类。

这是我使用单身人士的版本。错误指向DataSource之前的括号。

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

这是等效的(来自教程)没有单身

NSArray *itemGroups = [POI fetchDistinctItemGroupsInManagedObjectContext:managedObjectContext];

2 个答案:

答案 0 :(得分:2)

你应该有一些喜欢:[[POI sharedInstance] fetchDistinctItemGroupsInManagedObjectContext:managedObjectContext];

答案 1 :(得分:2)

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

NSArray *itemGroups = [POI fetchDistinctItemGroupsInManagedObjectContext:managedObjectContext];  

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

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

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