我已经思考了很长时间该怎么处理这个问题。
假设我要创建一个UILabel,这个标签将包含一个名称。 所以,我会毫不犹豫地给这个UILabel命名为|name|。
然后我会有一个NSString来保存实际的名称字符串。 所以我认为给这个字符串命名为|name|更合适,对吧?
那么我应该给UILabel取什么名字呢?
我考虑过将它命名为labelName。
但是这是一种被强烈反对的匈牙利命名法(hungarian notation)。
这是一个死胡同吗?
我已经思考了很长时间该怎么处理这个问题。
假设我要创建一个UILabel,这个标签将包含一个名称。 所以,我会毫不犹豫地给这个UILabel命名为|name|。
然后我会有一个NSString来保存实际的名称字符串。 所以我认为给这个字符串命名为|name|更合适,对吧?
那么我应该给UILabel取什么名字呢?
我考虑过将它命名为labelName。
但是这是一种被强烈反对的匈牙利命名法(hungarian notation)。
这是一个死胡同吗?
Objective-C 是一种冗长的编程语言,在命名变量和参数时通常需要包含类型信息。
UILabel *nameLabel = ...
NSString *name = ...
对于原始值(甚至是 NSStrings 和 NSNumbers),通常省略类型。
当你遇到这种情况时,要仔细思考并更改名称。
在您的情况下,可以使用:
UILabel *nameLabel;
NSString *name; //*nameString; // *nameValue;
nameArray
不是一个好的名称,应该改为 names
。NSArray *names; // instead of nameArray
NSArray *nameArray
,而不是 names
。 - Anoop Vaidya我认为你的主要问题是你的模型正在泄漏到视图中。你的标签(显然是一个视图)最好不要知道它所呈现的模型的任何信息。
以UITableViewCell
为例。它有一些输出口:
textLabel
detailTextLabel
imageView
这些可以用来呈现几乎任何类型的模型数据,包括一些主要文本和可选的图像和/或更多文本。
你还可以注意到,在这些示例中,UIKit会在变量后缀上类型(在标签的末尾添加Label
)。对于UIView上的backgroundColor
属性也是如此。
labelName
的变量,我会认为它是一个存储标签名称的字符串。我建议使用nameLabel
。 - DrummerB