Objective c 目标C:从类方法调用实例方法
这就是问题所在: myObject.hObjective c 目标C:从类方法调用实例方法,objective-c,Objective C,这就是问题所在: myObject.h @interface myObject - (void) Init; - (void) doStuffs; - (void) Final; + (NSData*) staticMethod: (NSString*) filePath @end myObject.m @implementation myObject - (void) Init { ... } - (void) doStuffs { ... } - (void) Final { ...
@interface myObject
- (void) Init;
- (void) doStuffs;
- (void) Final;
+ (NSData*) staticMethod: (NSString*) filePath
@end
myObject.m
@implementation myObject
- (void) Init {
...
}
- (void) doStuffs {
...
}
- (void) Final {
...
}
+ (NSData*) staticMethod: (NSString*) filePath {
myObject *objInstance;
[objInstance Init];
[objInstance doStuffs];
[objInstance Final];
}
@end
在静态方法上调用Init、dostufs和Final时,不调用实例方法;有什么想法吗
简而言之:我需要从同一类的静态方法调用实例方法
感谢您的帮助。您尚未创建
myObject
的实例。因此,假设ARC,您正在调用nil
。调用nil
没有任何作用
因此:
您尚未创建
myObject
的实例。因此,假设ARC,您正在调用nil
。调用nil
没有任何作用
因此:
如果不初始化objInstance,它将为零,这些调用将不会起任何作用。首先分配并初始化对象。在调用这些方法之前,您还可以检查objInstance是否为nil,您将看到它是nil
这是Objective-C中比较棘手的事情之一。如果您尝试这样的方法,Java会抛出NullPointerException。Objective-C默默地继续前进 如果不初始化objInstance,它将是nil,这些调用将不会起任何作用。首先分配并初始化对象。在调用这些方法之前,您还可以检查objInstance是否为nil,您将看到它是nil
这是Objective-C中比较棘手的事情之一。如果您尝试这样的方法,Java会抛出NullPointerException。Objective-C默默地继续前进 未完成
objInstance
的alloc/init。未完成objInstance
的alloc/init。
myObject *objInstance = [[myObject alloc] init];