IOS注意事项(2)

二、@encode()得使用

为了更好的互操作性,Objective-C 的数据类型,甚至自定义类型、函数或方法的元类型,都可以使用 ASCII 编码。@encode(aType) 可以返回该类型的 C 字符串(char *)的表示。

常见情况有将CGPoint、CGrect等结构体封装成OC类:

CellPoint selectedPoint = CellPointMake(0, 0);

 NSValue *value = nil;

 value = [NSValue valueWithBytes:&selectedPoint objCType:@encode(CGPoint)];


还可以用来判断类型,比如
const char * pObjCType = [((NSNumber*)value) objCType];  
     if (strcmp(pObjCType, @encode(int))  == 0) {  
         NSLog(@"是int类型,值为%d",key,[value intValue]);  
     }  
 
  可以判断NSNumber得类型。
阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

IOS注意事项(2)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭