zoukankan      html  css  js  c++  java
  • iOS中的NSValue

    struct student{
        char name[20];
        char gender;
    };
    typedef struct student Student;
    int main(int argc, const char * argv[]) {
        @autoreleasepool {
           
        //NSValue 数值类,将指针,结构体等转换成对象
            int a = 10;
            int *p = &a;
            NSMutableArray *array = [NSMutableArray arrayWithCapacity:1];
            NSValue *value = [NSValue valueWithPointer:p];
            [array addObject:value];
            
            //void *是泛型
           int *newP = [value pointerValue];
            
        
            NSLog(@"%d",*newP);
            //NSRange
            
            NSRange range = {14,35};
            //NSRange range1 = NSMakeRange(3, 5);
           // [array addObject:range1];
            //[array addObject:range];
            //将NSRange 结构体转换为NSValue
            NSValue *rangeValue = [NSValue valueWithRange:range];
            
            [array addObject:rangeValue];
            //将NSRange 转换成NSRange
            NSRange newRange = {0};
            newRange = [rangeValue rangeValue];
            NSLog(@"%lu,%lu",newRange.location,newRange.length);
        
            
            Student stu =  {"laowang",'m'};
        
        
        //自定义结构体转换成NSVlaue对象
            NSValue *stuValue = [NSValue valueWithBytes:&stu objCType:@encode(Student)];
            //NSValue 对象 转换成结构体
            Student newStu = {0};
            [stuValue getValue:&newStu];
            NSLog(@"%s,%c",newStu.name,newStu.gender);
  • 相关阅读:
    泛型简介
    单元测试(junit使用)
    枚举简介
    面试题:二叉树的镜像
    面试题:和为S的连续正数列
    面试题:丑数
    面试题:合并两个排序的链表
    面试题:数值的整数次方
    面试题:矩形覆盖
    面试题:数组中的逆序对
  • 原文地址:https://www.cnblogs.com/wohaoxue/p/4723650.html
Copyright © 2011-2022 走看看