Iphone 在ViewController.m中,self.username和_username有什么区别
两者都是有效的,有什么区别? 我可以使用_用户名吗?当我使用self.username时,它将转到@synthesis username; self.username是一种方法吗 _用户名只是一个变量? 我用几种方法编写_用户名。它也可以在视图中工作。Iphone 在ViewController.m中,self.username和_username有什么区别,iphone,objective-c,ios,object-code,Iphone,Objective C,Ios,Object Code,两者都是有效的,有什么区别? 我可以使用_用户名吗?当我使用self.username时,它将转到@synthesis username; self.username是一种方法吗 _用户名只是一个变量? 我用几种方法编写_用户名。它也可以在视图中工作。 self.username比_username或not快?我建议您检查一下。username相当于其他语言中的getter和setter方法。关于这件事,我只想说几句。在ARC之前,它用于帮助确保遵循内存管理部分以及处理参数的保留、释放和复制_当
self.username比_username或not快?我建议您检查一下。username相当于其他语言中的getter和setter方法。关于这件事,我只想说几句。在ARC之前,它用于帮助确保遵循内存管理部分以及处理参数的保留、释放和复制_当不建议在init和dealloc中使用self.param时,username主要用于init等方法 self.username将调用用户名的setter,这就是断点跳到synthesis语句的原因 如果使用_变量,则可以使用_变量访问属性。 就你而言: self.username将值存储到ivar _username和_username=@admin;is还将值存储到_usernameivar。表示两个保存到同一ivar\u用户名 清单4-2使用@synthesis 您可以使用form property=ivar来指示特定的 属性应使用实例变量,例如: @综合名、姓、年龄=年销售 这指定firstName、lastName和 年龄应该是综合的,财产年龄由 实例变量yearsell。本报告的其他方面 方法由可选属性决定
请参阅self.username与_username之间的差异 username使用访问器setter和getter。他们调用该方法,并在该方法中访问ivar _用户名直接使用ivar。没有方法调用,因此这可能会节省一些开销
self.username使您的类符合KVO,而_username绕过它。检查您,我没有看到KVO和KVC,我会用谷歌搜索它。这是一个有点不同的Java。在一行中。。。当一个对象发生变化时,另一个对象会得到通知。如果你发现任何好的东西,请进行投票并接受。
@synthesize username = _username;
//Method1
- (void) viewDidLoad
{
self.username = @"admin";
}
//Method2
- (void) viewDidLoad
{
_username = @"admin"
}