2012-07-30 46 views
0

我在一本AddressCard課的書中舉了一個例子。其中一種方法是設置器-(void) setName: (NSString *) theName;我最終設置了這樣一個對象的名稱:myCard.name = @"Jen";然後我在書中看到我想創建一個NSString對象,爲它分配一個字符串,然後使用對於二傳手來說。我的做法是不正確還是不好?不正確的使用NSString?

+0

如果這是您使用@「Jen」設置值的唯一地方,我不會看到問題。爲了清楚起見,使用單獨的字符串可能是有益的,例如NSString * userName = @「Jen」; myCard.name = userName; – 2012-07-30 20:28:06

回答

2

語法:

myCard.name = @"Jen" 

被設置字符串「仁」的屬性命名的名稱(我猜類型的NSString的)已經被分配。這可以。

然而,使用隱式方法[myCard setName:@「Jen」]更明智些;因爲它更安全。

+0

何時使用點運算符的隱式方法更好? – stumped 2012-07-30 20:38:22

+0

在訪問另一個類時最好使用隱式方法,並且當與屬性位於同一個類中時最好使用點表示法 – achi 2012-07-30 20:48:28

1
@"Jen" 

是一個常量NSString - 你可以使用它作爲任何正常的NSString。你的代碼沒有問題。