@encode(int)
编译器指令@encode()
是用来获取对应的编码的,上述指令获取的是int类型的编码,在iOS中它的值是:i
@encode的运用
- 在OC中消息转发时的方法签名,自己可以用这个指令将参数类型对应的编码打印出来再使用:
- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector{
NSLog(@"int ===> %s", @encode(int));
NSLog(@"void ===> %s", @encode(void));
NSLog(@"id ===> %s", @encode(id));
NSLog(@"SEL ===> %s", @encode(SEL));
// NSMethodSignature *signature = [NSMethodSignature signatureWithObjCTypes:"V@:"]
// return signature;
}
网友评论