2012-07-30 49 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。你的代码没有问题。