代码之家  ›  专栏  ›  技术社区  ›  griotspeak

过度扩张的问题和僵尸

  •  0
  • griotspeak  · 技术社区  · 16 年前

    有什么好处?我以为打开僵尸会告诉我我是一个多么愚蠢的人…而不是修复它。

    #import "AppController.h"
    
    
    @implementation AppController
    
    -(IBAction)countCharacters:(id)sender   {
        //did a button do this?
    if(![sender isKindOfClass:[NSButton class]])    {
        NSLog(@"%@ is not a button", sender);
        return;
    }
    
    //proceed
    NSString *userString = [textField stringValue];
    NSNumber *count = [NSNumber numberWithInt:[userString length]];
    NSString *outputString = [NSString stringWithFormat:@"'%@' has %@ characters.",
                            userString, count];
    //[userString release];
    //[count release];
    [labelField setStringValue:outputString];
    //[outputString release];
    }
    @end
    
    2 回复  |  直到 15 年前
        1
  •  2
  •   zneak    16 年前

    您可以阅读有关对象所有权的信息 here alloc 方法自己创建对象,或者如果没有 retain Retain 对一件物品进行分类会使你成为一个拥有者;使命感 release

    释放您没有所有权的对象。您当前未发布的代码正是您所需要的。

        2
  •  1
  •   mr-sk    16 年前

    您的NSString/NSNumber方法都是方便的方法,您不必发布它们。所以-是的,你自己解决了这个问题。