为什么要在Obj-C中更改getter和setter的名字?

时间:2013-01-27 05:14:16

标签: objective-c-2.0

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

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

我理解isOpen如何更适合open,但为什么不将属性名称更改为isOpen

为什么将名为isOpen的setter设置为不可取?

1 个答案:

答案 0 :(得分: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;

vs

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