调用单例方法时出现预期的标识符错误 iOS
Expected identifier error when calling a singleton method iOS
我正在尝试从 class 调用一个方法,该方法在另一个 class 上使用单例模式。我正在使用一个教程,该教程不使用效果很好的单例,但我似乎无法实现我需要的东西。我不断收到一条错误消息,指出“预期标识符”。我假设这可能是语法问题,但我似乎无法解决它。 POI 是来自核心数据的 NSManagedObject subclass。
这是我使用单例的版本。错误指向DataSource前的括号。
NSArray *itemGroups = [POI [DataSource sharedInstance] fetchDistinctItemGroupsInManagedObjectContext:managedObjectContext];
这是没有单例的等效项(来自教程)
NSArray *itemGroups = [POI fetchDistinctItemGroupsInManagedObjectContext:managedObjectContext];
你应该有这样的东西:[[POI sharedInstance] fetchDistinctItemGroupsInManagedObjectContext:managedObjectContext];
如果您希望能够以这种方式使用 POI
class:
NSArray *itemGroups = [POI fetchDistinctItemGroupsInManagedObjectContext:managedObjectContext];
那么我会建议添加这样的代码:
// POI.h
+ (NSArray *)fetchDistinctItemGroupsInManagedObjectContext:(NSManagedObjectContext *)context;
// POI.m
+ (NSArray *)fetchDistinctItemGroupsInManagedObjectContext:(NSManagedObjectContext *)context {
return [[DataSource sharedInstance] fetchDistinctItemGroupsInManagedObjectContext: context];
}
我正在尝试从 class 调用一个方法,该方法在另一个 class 上使用单例模式。我正在使用一个教程,该教程不使用效果很好的单例,但我似乎无法实现我需要的东西。我不断收到一条错误消息,指出“预期标识符”。我假设这可能是语法问题,但我似乎无法解决它。 POI 是来自核心数据的 NSManagedObject subclass。
这是我使用单例的版本。错误指向DataSource前的括号。
NSArray *itemGroups = [POI [DataSource sharedInstance] fetchDistinctItemGroupsInManagedObjectContext:managedObjectContext];
这是没有单例的等效项(来自教程)
NSArray *itemGroups = [POI fetchDistinctItemGroupsInManagedObjectContext:managedObjectContext];
你应该有这样的东西:[[POI sharedInstance] fetchDistinctItemGroupsInManagedObjectContext:managedObjectContext];
如果您希望能够以这种方式使用 POI
class:
NSArray *itemGroups = [POI fetchDistinctItemGroupsInManagedObjectContext:managedObjectContext];
那么我会建议添加这样的代码:
// POI.h
+ (NSArray *)fetchDistinctItemGroupsInManagedObjectContext:(NSManagedObjectContext *)context;
// POI.m
+ (NSArray *)fetchDistinctItemGroupsInManagedObjectContext:(NSManagedObjectContext *)context {
return [[DataSource sharedInstance] fetchDistinctItemGroupsInManagedObjectContext: context];
}