Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 目标C:从类方法调用实例方法_Objective C - Fatal编程技术网

Objective c 目标C:从类方法调用实例方法

Objective 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 { ...

这就是问题所在:

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 {
...
}

+ (NSData*) staticMethod: (NSString*) filePath {
    myObject *objInstance;

    [objInstance Init];
    [objInstance doStuffs];
    [objInstance Final];
}
@end
在静态方法上调用InitdostufsFinal时,不调用实例方法;有什么想法吗

简而言之:我需要从同一类的静态方法调用实例方法


感谢您的帮助。

您尚未创建
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];