所以我想问的是低于@property @synthesize @dynamic差异在Xcode
这里是我的头文件
NSString *myString;
在M。文件
-(void)someMethod{
myString = [NSString stringWithString = @"Hello"];
NSLog(@"%@",myString);
}
-(void)dealloc{
[myString release];
}
-(void)viewDidUnload{
[myString release];
myString=nil;
}
现在确定其他情况
在我的头文件
NSString *myString;
@property (nonatomic,retain) NSString *myString;
在M。文件
@synthesize myString;
-(void)someMethod{
NSString *tempString = [[NSString alloc] initWithString:@"Hello"];
self.myString = tempString;
[tempString release];
NSLog(@"%@",myString);
}
-(void)dealloc{
[myString release];
}
-(void)viewDidUnload{
[myString release];
self.myString=nil;
}
我真的需要这个,因为我不understant它尚未白痴指南。两者都有效。也是我使用释放dealloc和viewDidUnload正确??预先感谢
'@ property'和'@ synthesize'语句与允许“点符号”无关。 “点符号”可以被看作是替代访问setter和getters的括号形式(实际上使用更普遍,但最好限制getter/setter使用)。 '[self myIvar]'相当于'self.myIvar',[self setMyIvar:myValue]'相当于'self.myIvar = myValue'。 'dot notation'可以用于非属性,比如'NSString's:'myString.length'可以正常工作,并且是合理可接受的用法。 – zaph
不知道,谢谢! – sooper
@CocoaFu我想我从来没有意识到NSString没有一个名为'length'的属性,如果是的话,那么点符号是如何工作的?这可能是非常有趣的,如果一个人可以实现它为自己的类... –