Cocoa 构建和分析工具cocoxcode

Cocoa 构建和分析工具cocoxcode,cocoa,xcode,memory-management,Cocoa,Xcode,Memory Management,今天我第一次尝试了Xcode的构建和分析工具。 在这个函数中发现了一些东西 请检查图像: -(IBAction)completeSessionButAct:(id)sender{ NSDictionary *tempDic = [[NSDictionary alloc] initWithObjectsAndKeys:[self view],@"mainview", congratulationScreen,@"screen",

今天我第一次尝试了Xcode的构建和分析工具。 在这个函数中发现了一些东西

请检查图像:

-(IBAction)completeSessionButAct:(id)sender{
    NSDictionary *tempDic = [[NSDictionary alloc] initWithObjectsAndKeys:[self view],@"mainview",
                             congratulationScreen,@"screen",
                             congScreenLabel,@"cong_screen_label",
                             congScrStatusLabel,@"cong_scr_status_label",
                             [sender superview],@"last_screen",nil];
    [functionality completeSession:tempDic];
}

此函数从第64行开始,到第71行结束


有谁能解释一下这个函数中的内存泄漏问题。

图像中显示的文本对我来说非常清楚:您正在创建一个您自己的对象(新建、分配、复制、保留[NARC]就是这样做的);但你永远不会撤销所有权


尝试使用
+[NSDictionary Dictionary With Objects and Keys:][/code>。

图像中显示的文本对我来说非常清楚:您正在创建一个您自己的对象(新建、分配、复制、保留[NARC]就是这样做的);但你永远不会撤销所有权


尝试改用
+[NSDictionary Dictionary With Objects and Keys::

或在tempDict超出范围之前使用-autorelease。强制性文档链接:@Joshua Nozzi:或仅使用
-release
True。我当时很着急,以为他会把口述还给我。如果是那样的话,自动释放就太完美了。除非我同时创建多个dict,否则我倾向于使用[[[Class alloc]init]autorelease]。在此代码中,如果我使用[records addObject:data];代替[records addObject:[data mutableCopy]];然后记录数组中的所有对象都将是相同的值,如果我使用release而不是removeallobjects而不是application crashes,或者在tempDict超出范围之前使用-autorelease。强制性文档链接:@Joshua Nozzi:或者只是
-release
True。我当时很着急,以为他会把口述还给我。如果是那样的话,自动释放就太完美了。除非我同时创建多个dict,否则我倾向于使用[[[Class alloc]init]autorelease]。在此代码中,如果我使用[records addObject:data];代替[records addObject:[data mutableCopy]];那个么记录数组中的所有对象都将是相同的值,若我使用release而不是removeallobjects,那个么应用程序就会崩溃