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);
  • 相关阅读:
    浅谈代理
    AFN
    网络请求
    Socket
    几种加密方式
    8种传值方式
    swift属性观察者机智
    Swift 字符串的分割
    Xcode 所有版本
    Error Domain=ALAssetsLibraryErrorDomain Code=-3310 "数据不可用" .......
  • 原文地址:https://www.cnblogs.com/wohaoxue/p/4723650.html
Copyright © 2011-2022 走看看