gpt4 book ai didi

objective-c - BOOL Obj-C 2 属性的命名约定?

转载 作者:太空狗 更新时间:2023-10-30 03:12:16 25 4
gpt4 key购买 nike

我有一个只读的 BOOL 属性。这里的主要命名模式是什么?

背景:对于普通的旧方法声明,可接受的模式

- (BOOL)isEditable;
- (void)setEditable:(BOOL)flag;

在@property 的世界里,这通常表示为

@property(getter=isEditable) BOOL editable;

然而,也有相反的例子。如CalStore/CalCalendar.h中

@property(readonly) BOOL isEditable;

(CalCalendar 在这里是错误的,还是它也是只读 BOOL 属性的可接受命名模式?)

我有一个管理 View 的 Controller ,它可能会或可能不会调整大小。该属性是只读的。

@property(readonly) BOOL viewIsResizable;
@property(readonly) BOOL isViewResizable;
@property(readonly, getter=isViewResizable) BOOL viewResizable;

哪种图案最自然或最像 Cocoa?

最佳答案

引自ADC

If the attribute is expressed as an adjective, the format is:

- (void)setAdjective:(BOOL)flag;
- (BOOL)isAdjective;

For example:

- (void)setEditable:(BOOL)flag;
- (BOOL)isEditable;

If the attribute is expressed as a verb, the format is:

- (void)setVerbObject:(BOOL)flag; 
- (BOOL)verbObject;

For example:

- (void)setShowsAlpha:(BOOL)flag;
- (BOOL)showsAlpha;

The verb should be in the simple present tense.

|K<

关于objective-c - BOOL Obj-C 2 属性的命名约定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/806900/

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