4

我已经想了很长时间了。

假设我将创建一个 UILabel,这个标签将包含一个名称。所以不用多想,我将这个 UILabel 命名为 |name|。

然后我将有一个 NSString 来保存名称的实际字符串。所以我认为命名字符串 |name| 会更合适吧?

但是我会给 UILabel 取什么名字呢?

我想把它命名为labelName。

但这是非常不鼓励的匈牙利符号吗?

这是一个死胡同?

4

3 回答 3

7

Objective-C 是一种冗长的语言。在命名变量和参数时,通常包括变量和参数的类型。

UILabel *nameLabel = ...
NSString *name = ...

在原始值(甚至 NSStrings 和 NSNumbers)的情况下,通常会省略类型。

于 2013-05-01T12:51:44.697 回答
6

每当您遇到这种情况时,请思考,重新思考并更改名称。

在您的情况下,您可以使用:

UILabel *nameLabel;
NSString *name; //*nameString; // *nameValue;

您可以为类型添加后缀(虽然不是一个好的做法,但也有例外),如下例所示。

nameArray不是好名字应该是names

NSArray *names; // instead of nameArray
于 2013-05-01T12:52:02.227 回答
0

我会说您的主要问题是您的模型正在泄漏到视图中。您的标签(显然是一个视图)最好不知道它所呈现的模型的任何信息。

举个例子看看UITableViewCell。它有一个叫

  • textLabel
  • detailTextLabel
  • imageView

这些可用于呈现几乎任何类型的模型数据,这些数据具有一些主要文本以及可选的图像和/或更多要呈现的文本。

您可能还注意到,在这些示例中,UIKit 为变量添加了类型的后缀(Label在标签末尾添加)。同样的事情也适用backgroundColor于 UIView 上的属性。

于 2013-05-01T12:53:22.153 回答