gpt4 book ai didi

objective-c-2.0 - 为什么要更改 Obj-C 中的 getter 和 setter 的名称?

转载 作者:行者123 更新时间:2023-12-04 18:10:31 25 4
gpt4 key购买 nike

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

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

我明白 isOpenopen 更可取,但为什么不直接将属性名称更改为 isOpen

为什么将 setter 也命名为 isOpen 是不可取的?

最佳答案

如果我们使用 [] 语法,最好理解这种区别

    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;

关于objective-c-2.0 - 为什么要更改 Obj-C 中的 getter 和 setter 的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14544648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com