Objective-C のリテラルとクラス メソッドを調べましたが、メモリの観点からは明確ではありません。どのバージョンのコードを使用するか混乱しています。私は2つのコードを持っています.メモリリークの観点からそれらの違いを理解したいと思います.
「returnArray」が返される配列であると仮定します
バージョン 1
if([tempArray count] > 0) {
for(NSDictionary *dict in tempArray) {
NSDictionary *tempDict = [
[NSDictionary alloc]initWithObjectsAndKeys:
[dict objectForKey:@"verifiedEmail"],@"verifiedEmail",
[dict objectForKey:@"identifier"], @"identifier",
nil
];
[returnArray addObject:tempDict];
}
}
バージョン2
if([tempArray count] > 0) {
for(NSDictionary *dict in tempArray) {
NSDictionary *tempDict = @{
@"verifiedEmail" : [dict objectForKey:@"verifiedEmail"],
@"identifier" : [dict objectForKey:@"identifier"],
};
[returnArray addObject:tempDict];
}
}