coreFoundation框架转换为foundation -->桥接

来源:互联网 发布:陕西医药中标数据网 编辑:程序博客网 时间:2024/05/23 00:32

// 姓名和电话

        // 1.获取姓名  取值:copy   get

       CFStringRef firstName = ABRecordCopyValue(person, kABPersonFirstNameProperty);

       CFStringRef lastName = ABRecordCopyValue(person, kABPersonLastNameProperty);

        // coreFoundation框架转换为foundation  -->桥接

        // 桥接方式一:手动管理内存

        //    NSString *firstNameStr = (__bridge NSString *)(firstName);

        //    NSString *lastNameStr = (__bridge NSString *)(lastName);

        //    NSLog(@"firstName: %@    lastName: %@",firstNameStr,lastNameStr);

        //    CFRelease(firstName);

        //    CFRelease(lastName);

        

        // 桥接方式二: 2.1不需要手动管理内存

        //    NSString *firstNameStr = CFBridgingRelease(firstName);

        //    NSString *lastNameStr = CFBridgingRelease(lastName);

        //    NSLog(@"firstName: %@    lastName: %@",firstNameStr,lastNameStr);

        

        // 2.2将对象的所有权转换

        NSString *firstNameStr = (__bridge_transferNSString *)firstName;

        NSString *lastNameStr = (__bridge_transferNSString *)lastName;

        NSLog(@"firstName: %@    lastName: %@",firstNameStr,lastNameStr);

        

        // 桥接方式三: Foundation 转换为CoreFoundation   不常用

        //    (__bridge_retained <#CF type#>)<#expression#>)

0 0
原创粉丝点击