【发布时间】:2021-12-10 05:39:38
【问题描述】:
我是目标 c 的新手。试图找出 Objective C 中 NSString 的类型。我使用 C 中的 sizeof() 方法和使用 NSString 中的 UTF8 编码的 lengthOfBytesUsingEncoding 方法。
NSString *test=@"a";
NSLog(@"LengthOfBytesUsingEncoding: %lu bytes", [test lengthOfBytesUsingEncoding:NSUTF8StringEncoding]);
printf("NSString: %lu\n", sizeof(test));
这将在控制台中给我
LengthOfBytesUsingEncoding:1 个字节 和 NSString:8 个字节
这两个结果有什么区别? 为什么 LengthOfBytesUsingEncoding 返回 1 个字节而 sizeof 方法返回 8 个字节? NSString 的类型是什么? int、float、long、long double?
【问题讨论】:
标签: ios objective-c nsstring