使用下划线并self在调用时使用Objective-C中的关键字是否有区别@property?
财产申报:
@property (weak, nonatomic) NSString *myString;
Run Code Online (Sandbox Code Playgroud)
致电@synthesize酒店:
@synthesize myString = _myString;
Run Code Online (Sandbox Code Playgroud)
如果我想在我的代码中使用它,是否有区别?什么时候?在getter/setter中?
self.myString = @"test";
_myString = @"test";
Run Code Online (Sandbox Code Playgroud) 在处理属性时,我对于正确的约定有点困惑.我将通过一个例子说明我的问题.所以从下面的例子我知道功能上"self.loan = self.loan + 250.00;" 与"_loan = _loan + 250.00;"相同 还是不是?我在网上看到很多教程,可能会也可能不会使用这两种方法来访问属性.那么使用_loan和self.loan之间究竟有什么区别(我知道self.loan与[self setLoan:]相同)
//ClassA.h
@interface ClassA: UIViewController
@property double loan;
@end
//ClassA.m
@implementation ClassA
@synthesize loan = _loan;
-(void)doSomething{
self.loan = self.loan + 250.00; //Exhibit A
_loan = _loan + 250.00; // Exhibit B
}
Run Code Online (Sandbox Code Playgroud)