您的位置:首页 > 移动开发 > Objective-C

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

2015-04-16 19:41 211 查看
在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这个静态方法的,所以,程序报错。相信聪明的你已经知道如何使用了,正确的做法举例如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: