单项选择题

对于下面代码说法正确的是:()
@property(copy,nonatomic,readonly)NSString*calValue;

A.没有getter方法,当对calValue赋值时,将产生一个NSString副本。
B.此属性可保证多线程安全。
C.此属性在合成时可以生成设置器方法(setter-getter方法)。
D.此属性只能读取,不能赋值。