美文网首页
iOS NSString和CFStringRef

iOS NSString和CFStringRef

作者: 搬砖的crystal | 来源:发表于2025-12-23 14:21 被阅读0次

NSString 是Foundation框架提供的不可变字符串类。
CFStringRef 是Core Foundation框架中的不可变字符串类型。

CFStringRef类型判断:

CFStringRef cfString = CFSTR("111");
    if (CFGetTypeID(cfString) == CFStringGetTypeID()) {
        NSLog(@"变量是CFStringRef类型");
    }

互相转换

/*
     __bridge_retained:转换时,将对象的所有权转移给目标变量(相当于对源对象执行 retain 操作)
     __bridge_transfer:转换时,将对象的所有权从源变量转移给目标变量(相当于对源对象执行 release 操作)
     __bridge 实现直接转换,没有引用计数操作,适用于两种指针类型的相互赋值
     */

    //NSString 转 CFStringRef
    NSString *str1 = @"123";
    CFStringRef str2 = (__bridge CFStringRef)str1;
    //printf("CFGetTypeID===%lu",CFGetTypeID(str2));

    //
    CFStringRef str3 = CFSTR("456");
    NSString *str4 = (__bridge NSString *)str3;

相关文章

网友评论

      本文标题:iOS NSString和CFStringRef

      本文链接:https://www.haomeiwen.com/subject/ppschstx.html