我试图了解每种情况下的情况。有人可以解释第一个案例的详细内容以及它与第二个案例的区别吗?谢谢// :))
//declare in first case
NSManagedObjectModel *mom();
NSManagedObjectModel *mom() {
static NSManagedObjectModel *mom = nil;
//implementation goes here...
return mom;
}
VS
//no declaration in second case
- (NSManagedObjectModel *) mom {
static NSManagedObjectModel *mom = nil;
//implementation goes here...
return mom;
}
答案 0 :(得分:3)
第一个是独立功能;它不依赖于一个阶级。你会这样称呼:
NSManagedObjectModel *retVal = mom();
第二个是实例方法定义,因此在类的上下文中定义。你会这样称呼:
NSManagedObjectModel *retVal = [someObject mom];