关闭

IOS注意事项(2)

399人阅读 评论(0) 收藏 举报

二、@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得类型。
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3682次
    • 积分:94
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条
    文章分类