私の英語でごめんなさい...
「.h」ファイルで
NSString *_name;
「.m」ファイルで
-(id)init{
.....
_name = [[NSString alloc] initWithString:@"Hadrian"];
.....
}
そして、次のように _name の値を変更するために使用する関数:
-(void) changeName:(NSString *)name{
    //No 1:
    _name = [name copy];
    //No 2:
    if(_name) [_name release];
    _name = [name copy];
}
漏れの原因はNo.1?この関数標準の書き方は?