在使用xcode自帶的檢測內(nèi)存的方式Analyze的時候,發(fā)現(xiàn)一個有問題的地方,如下:
//獲取唯一Id
+ (NSString *)uuidString {
CFUUIDRef theUniqueString = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUniqueString);
CFRelease(theUniqueString);
return(__bridgeNSString *)string;
}
提示 : potential leak of object store into "string"
提示說 string 有可能內(nèi)存泄漏了,說明我們在處理 string 的時候,也需要對他進行 release,而方法要返回NSString對象,所有可以把 string轉(zhuǎn)換成 NSString對象,然后 retain 返回,返回之前release掉 string ,改過后的代碼如下:
//獲取唯一Id
+ (NSString*)uuidString {
CFUUIDReftheUniqueString =CFUUIDCreate(NULL);
CFStringRefstring =CFUUIDCreateString(NULL, theUniqueString);
NSString*tmpString = (__bridgeNSString*)string;
CFRelease(theUniqueString);
CFRelease(string);
returntmpString;
}