ios 新手,尝试从函数返回 NSString。据我了解,我需要 [NSString... alloc] init]
才能创建要返回的字符串。另外,由于我调用了 alloc
,我想我必须自己自动释放对象,但是我收到消息“ARC 禁止显式发送‘autorelease’消息”,所以……我该如何告诉 ios 什么时候我已经完成分配的 NSString 了吗?
- (NSString *) generateUID
{
char foo[32];
// create buffer of all capital psuedo-random letters
for (int i = 0; i < sizeof(foo); i++)
foo[i] = (random() % 25) + 65; // 0-25 + CAPITAL_A
NSString *uid = [[NSString alloc] initWithBytes:foo length:sizeof(foo) encoding:NSASCIIStringEncoding];
NSLog (@"uid: %@", uid);
return (uid);
}
最佳答案
ARC = 自动引用计数 = 编译器根据其对代码的分析添加必要的发布和自动释放。你当然看不到这一点,因为它发生在幕后。正如 sosbom 在他的评论中提到的,你真的应该阅读适用的 documentation on the Apple website .
关于iphone - ARC 禁止自动释放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17603551/