NSMutableString和设置访问器方法Objective-C 2.0

时间:2011-11-07 01:04:45

标签: accessor objective-c-2.0

合成访问器方法有一个复制属性,例如:

@property (copy) NSMutableString *string;

当使用这个setter方法赋值时,它似乎总是调用copy方法,即使我想在赋值实例变量{{1}期间创建我分配给string的可变副本}。

这是一个知道问题吗?有没有解决方法?

谢谢: - )

1 个答案:

答案 0 :(得分:1)

不要在.m实现文件中调用@synthesize string,而是编写自己的getter。

e.g。

- (NSMutableString *) string
{
    NSMutableString * stringToReturn = [NSMutableString stringWithString: someStringObject];
}

有关属性的更多信息(以及在不执行@synthesize时该怎么做)可以在以下网址找到:

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjectiveC/Chapters/ocProperties.html

P.S。属性名称“字符串”可能会让那些在路上查看您的代码的人感到困惑......我建议将其更改为更具针对性的程序