修复ARC中潜在的内存泄漏

以下单例类(SharedManager)辅助方法可能会导致保留周期。 在静态分析器中获取警告:“在线分配的对象的潜在泄漏”我该如何解决?

我确实尝试了让伊娃使用__weak,但是当我分析时仍然会出现警告。

NSString *__weak uuid = (__bridge NSString *)CFUUIDCreateString(kCFAllocatorDefault, uuidObject); 

谢谢

像这样在课堂上被召唤:

 myUUID = [SharedManager generateUUID]; + (NSString *)generateUUID { CFUUIDRef uuidObject = CFUUIDCreate(kCFAllocatorDefault); NSString *uuid = (__bridge NSString *)CFUUIDCreateString(kCFAllocatorDefault, uuidObject); CFRelease(uuidObject); return uuid; } 

 NSString *uuid = (__bridge_transfer NSString *)CFUUIDCreateString(kCFAllocatorDefault, uuidObject); 

这是否删除警告?

这是释放它们的一种方法:

 - (NSString *) uuid { CFUUIDRef uuidRef = CFUUIDCreate(NULL); CFStringRef uuidStringRef = CFUUIDCreateString(NULL, uuidRef); CFRelease(uuidRef); NSString *uuid = [NSString stringWithString:(NSString *) uuidStringRef]; CFRelease(uuidStringRef); return uuid; } 

资料来源: http : //www.cocoabuilder.com/archive/cocoa/217665-how-to-create-guid.html