关于Class Method

NSString *test = @"test";
NSString *moltuae = [NSString stringWithFormat:@“%d”, 42];
NSString *test =  [[NSString alloc] initWithFormat:@"test"];
  • 第一种写法算syntax sugar吧
  • 第二种是stringWithFormat是NSString这个Class的类,所以需要用Class类名来调用,我猜查就是+(NSString)stringWithFormat
  • 第三种是[NSString alloc]先alloc了一个NSString的instance,然后initWithFormat是这个instance的方法,就像[self init.....]这种,如果去查是 -(id)initWithFormat...

也是懒,居然不开Xcode查查

Extension

我们来看一般的class的写法是.h 和 .m
然后

//xxx.h

@interface Xxx:NSObject

@end
//xxx.m
#import "xxx.h"


@implementation Xxx

@end

但是有的时候我们会在.m中见到

@interface Xxx ()
....

@end

而这之间写的可能是ivar或者重定义的property,或者私有property,或者私有method
的定义,这些都是算extension,注意这里专门有一个括号来提醒我们这是extension处


yuxue
47 声望2 粉丝

人家是妹子哟~✨


引用和评论

0 条评论