Ios UYLPasswordManager中对象的潜在泄漏

Ios UYLPasswordManager中对象的潜在泄漏,ios,memory-management,memory-leaks,Ios,Memory Management,Memory Leaks,我从中试用UYLPasswordManager,并在分析中得到一个警告,即在代码的[result release]行中存在对象的潜在泄漏。这真的是潜在的泄漏吗?如果是,我该如何修复它?如果没有,我如何使警告静音?我的项目使用ARC,但我已使用UYLPasswordManager对象的标志将其关闭 - (void)searchKeychain { if (self.keychainValue == nil) { NSMutableDictionary *searchDictionary = [s

我从中试用UYLPasswordManager,并在分析中得到一个警告,即在代码的[result release]行中存在对象的潜在泄漏。这真的是潜在的泄漏吗?如果是,我该如何修复它?如果没有,我如何使警告静音?我的项目使用ARC,但我已使用UYLPasswordManager对象的标志将其关闭

- (void)searchKeychain {

if (self.keychainValue == nil) {
NSMutableDictionary *searchDictionary = [self newSearchDictionary];

[searchDictionary setObject:(id)kSecMatchLimitOne
                     forKey:(id)kSecMatchLimit];
[searchDictionary setObject:(id)kCFBooleanTrue
                     forKey:(id)kSecReturnData];

NSData *result = nil;
OSStatus status = SecItemCopyMatching((CFDictionaryRef)searchDictionary,
                                      (CFTypeRef *)&result);
[searchDictionary release];

if (result) {
   self.keychainValue = [[NSString alloc] initWithData:result
                          encoding:NSUTF8StringEncoding];
  [result release];
}
}
}

假设您的keychainValue属性声明为copy或retain,则它将保留您正在创建的新NSString。添加如下自动释放消息:

self.keychainValue = [[[NSString alloc] initWithData:result encoding: NSUTF8StringEncoding] autorelease];