Iphone 存储在设置用户名和设置密码值中的对象可能泄漏
我正在分析我的应用程序,并面临存储在设置用户名和设置密码值中的对象的潜在泄漏。我的代码是给定的Iphone 存储在设置用户名和设置密码值中的对象可能泄漏,iphone,Iphone,我正在分析我的应用程序,并面临存储在设置用户名和设置密码值中的对象的潜在泄漏。我的代码是给定的 -(void) checkRememberPassword{ CFStringRef userNameKey = CFSTR("user_id_preferences"); CFStringRef settingUserName = (CFStringRef)CFPreferencesCopyAppValue(userNameKey, kCFPreferencesCur
-(void) checkRememberPassword{
CFStringRef userNameKey = CFSTR("user_id_preferences");
CFStringRef settingUserName = (CFStringRef)CFPreferencesCopyAppValue(userNameKey, kCFPreferencesCurrentApplication);
CFStringRef passwordKey = CFSTR("password_preferences");
CFStringRef settingPasswordValue = (CFStringRef)CFPreferencesCopyAppValue(passwordKey, kCFPreferencesCurrentApplication);
NSString *tempString = (__bridge NSString *)settingPasswordValue;
NSString *tempString1 = (__bridge NSString *)settingUserName;
if(([tempString1 length] != 0) || ([tempString length] !=0)){
txtUserName.text = (__bridge NSString *)settingUserName;
txtPassword.text = (__bridge NSString *)settingPasswordValue;
[checkBoxButton setImage:[UIImage imageNamed:@"checkbox_full.png"] forState:UIControlStateNormal];
flagForRemPassword = YES;
}
}
由CFasPyraseCopyAppEnter返回的字符串遵循Core Foundation中的CREATE规则(),您需要在完成时调用CFrRelp。ARC不会为您这样做
使用CfBrigingRelease
将对象的所有权转移到ARC,而不是简单的C样式转换:
NSString *tempString = (NSString*)CFBridgingRelease(settingPasswordValue);