本文介绍了NSString的自定义setter的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个名为fontType的NSString
I have a NSString called fontType
我正在尝试为它设置一个自定义setter:
and I am trying to have a custom setter for it:
- (void) setFontType:(NSString *) fType
{
if (self.fontType != fType){
[fontType release];
self.fontType = [fType retain];
//some more custom code
}
}
是这有什么问题吗?
推荐答案
有些事情对我来说很突出:
A few things that stand out for me:
- 不要在自定义访问者中使用
self。
。直接访问变量 - 对于具有
可变子类型的类型的属性,最好使用复制语义 - 小心不管是什么
//更多自定义代码
- do not use
self.
inside of custom accessors. access the variable directly - it's better use copy semantics for properties of a type that has amutable subtype
- be careful with whatever is
// some more custom code
我的个人风格偏好如下:
My personal style preferences are like so:
-(void)setFontType:(NSString *)fontType_ {
if (fontType == fontType_) return; // get out quick, flatten the code
[fontType release];
fontType = [fontType_ copy];
// some more code
}
Cocoa with Love有关于此主题的 。值得一读。
Cocoa with Love has a good article on this topic. It's worth a read.
这篇关于NSString的自定义setter的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!