3

我刚刚了解到您可以修改 Objective-C 属性的自动生成的 getter 和 setter 名称

// boolean property of "door" object in game
@property (strong, nonatomic, getter=isOpen) BOOL open;

我了解如何isOpen更好地获取 just open,但为什么不将属性名称更改为isOpen

isOpen为什么不希望同时命名设置器?

4

1 回答 1

1

如果我们使用 [] 语法,这种区别将得到最好的体现

    if ([door isOpen])
       doSomething;
    else
       [door setOpen:YES];

读起来更像简单的英语而不是

    if ([door isOpen])
       doSomething;
    else
       [door setIsOpen:YES];

在现代点语法中,差异有点丢失

    if (door.isOpen)
       doSomething;
    else
       door.open = YES;

对比

    if (door.isOpen)
       doSomething;
    else
       door.isOpen = YES;
于 2013-01-27T06:01:19.710 回答