Sli*_*nky 6 singleton ios automatic-ref-counting
以下单例类(SharedManager)帮助器方法可能会导致保留周期.在静态分析器中获取警告:"在线路上分配的对象的潜在泄漏......"我该如何解决?
我确实尝试过使用ivar uuid __weak但是当我分析时仍会出现警告.
NSString *__weak uuid = (__bridge NSString *)CFUUIDCreateString(kCFAllocatorDefault, uuidObject);
Run Code Online (Sandbox Code Playgroud)
谢谢
像这样在课堂上被召唤:
myUUID = [SharedManager generateUUID];
+ (NSString *)generateUUID
{
CFUUIDRef uuidObject = CFUUIDCreate(kCFAllocatorDefault);
NSString *uuid = (__bridge NSString *)CFUUIDCreateString(kCFAllocatorDefault, uuidObject);
CFRelease(uuidObject);
return uuid;
}
Run Code Online (Sandbox Code Playgroud)
这是一种释放它们的方法:
- (NSString *) uuid
{
CFUUIDRef uuidRef = CFUUIDCreate(NULL);
CFStringRef uuidStringRef = CFUUIDCreateString(NULL, uuidRef);
CFRelease(uuidRef);
NSString *uuid = [NSString stringWithString:(NSString *)
uuidStringRef];
CFRelease(uuidStringRef);
return uuid;
}
Run Code Online (Sandbox Code Playgroud)
资料来源:http://www.cocoabuilder.com/archive/cocoa/217665-how-to-create-guid.html
NSString *uuid = (__bridge_transfer NSString *)CFUUIDCreateString(kCFAllocatorDefault, uuidObject);
Run Code Online (Sandbox Code Playgroud)
这会删除警告吗?
| 归档时间: |
|
| 查看次数: |
3470 次 |
| 最近记录: |