Objective-C中,当self作为当前类时需要注意的细节

来源:互联网 发布:淘宝卖家货到付款骗局 编辑:程序博客网 时间:2024/06/08 16:41

在Objective-C中,self既可以作为当前类使用,也可以作为当前类对象使用。当self作为当前类时,需要注意一个细节,如:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    [self Hello];        return YES;}+(void)Hello{    NSLog(@"World");}

显然Hello方法是个静态方法,编译运行,发现程序出现了崩溃,为什么会错呢?原因如下:
当self作为当前类时,有一个前提,就是一定要在静态方法中使用self,刚才的application:didFinishLaunchingWithOptions:方法是一个动态方法,而在动态方法中是不能将self用作当前类使用的,只能将self用作当前类对象,而类对象是无法调用Hello这个静态方法的,所以,程序报错。相信聪明的你已经知道如何使用了,正确的做法举例如下:


0 0
原创粉丝点击