-(void)loadMakes:(NSString *)strValue
{
NSDictionary *makeJSON = [strValue JSONValue];
NSDictionary *makes = NULL;
NSDictionary *car = NULL;
NSArray *keys = NULL;
NSMutableArray *tempCar = [[NSMutableArray alloc]init];
if ([makeJSON count] != 0)
{
makes = [makeJSON objectForKey:@"makes"];
keys=[[makes allKeys]sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
for(int i=0; i<[makes count]; i++)
{
car = [makes objectForKey:[keys objectAtIndex:i]];
CarMake *carMakeObj = [[CarMake alloc]init];
[carMakeObj setCarName:[car objectForKey:@"name"]];
[carMakeObj setCarLinks:[car objectForKey:@"link"]];
//[carMakeObj Print];
[tempCar addObject:carMakeObj];
[carMakeObj release];
}
self.carNamesArrayList=tempCar;
[tempCar release];
}
NSLog(@"count %d",[carNamesArrayList count]);
}
-viewDidAppear で上記のコードを呼び出しましたが、ビューが最初に表示されたときにリークが表示されません。しかし、[戻る] ボタンを押してビューを再度クリックすると、計測器の表示が漏れます。
NSDictionary *makeJSON=[strValue JSONValue];
それから私は追加しました
[makeJSON release];
makeJSON = nil;
しかし、私は次のようなエラーが発生しました
****-[CFDictionary release]: message sent to deallocated instance
それから私はのように追加しました
NSDictionary *makeJSON=[[strValue JSONValue]retain];
再び私はこのようなエラーを得ました
****-[CFDictionary release]: message sent to deallocated instance
さらに、私は**retain count of makeJSON を出力し、それは 2 を示しています
助けが必要!!!!!どこが間違っているのか教えてください