由于“id”是Objective-C中的关键字,您对ID变量使用什么替代名称(例如PK字段)?
答案 0 :(得分:18)
我认为应该注意,编译器可以区分类型说明符位置中的id
和变量名称位置中的id
。也就是说,
NSUInteger id;
id = 10;
将编译得很好(确实会id id; id = [NSNumber numberWithInt:10];
)。 (你也可以大写它:ID
。)那就是说,这些都是可怕的想法。不要使用它们。忘了我甚至说过。
Cocoa编程中的风格倾向于冗长,所以(正如所有早期的答案所暗示的那样)最佳实践可能是全部写出来:identifier
或dinglehopferID
。
答案 1 :(得分:3)
identifier
,或更具体的内容,例如userID
。
答案 2 :(得分:0)
通常取决于背景。简单地说,identifier
如果我感觉不是特别有创意。
答案 3 :(得分:0)
我倾向于使用“标识符” - 如果真的没有更好的替代方案 - 或某些特定于域名的“programmeID”,它们会说'这是主键,但仅限于此域'。
实际上很少需要考虑Cocoa中的主键。核心数据保留了对象图而没有任何主键提名,NSPredicate
s不会给每个对象恰好是唯一的字段赋予任何额外的权重,并且NSDictionary
s往往是在adhoc中构建的方式。
答案 4 :(得分:0)
我几乎使用'guid'NSString *guid
NSNumber *guid
。
答案 5 :(得分:0)
使用id对我来说是一个坏主意。我差点使用' uid'或者' cid'分别对于用户和客户。我使用模型名称的第一个字母来避免保留字。