例如一個Person
類有一個屬性@property (strong, nonatomic) NSString *name;
和兩個方法:一個初始化方法- (instancetype)initWithName:(NSString *)name;
而另一種方法- (void)doSomethingWithName:(NSString *)name;
如下:傳遞屬性與本地變量作爲方法參數
- (instancetype)initWithName:(NSString *)name
{
self = [super init];
if (self) {
self.name = name;
[self doSomethingWithName:name];
}
return self;
}
- (void)doSomethingWithName:(NSString *)name
{
NSLog(@"My name is: %@", name)
}
而在這種情況下,我們傳遞的局部變量name
從- initWithName:
到- doSomethingWithName:
,我們可以實現同樣的結果通過self.name
到- doSomethingWithName:
。事實上,我們甚至可以重寫- doSomethingWithName:
方法,例如:
- (void)doSomethingWithName
{
NSLog(@"My name is: %@", self.name)
}
哪些方法被認爲是最佳做法,爲什麼?
(個人意見):我通常會建議將它作爲參數。這可讓您在課堂內外進行的任何更改中擁有更大的靈活性。 – Linuxios