gpt4 book ai didi

ios - 对已经具有默认值的属性使用 nullable/nonnull

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

我知道使用方法nonnullnullable

nonnull: the value won’t be nil; bridges to a regular reference.
nullable: the value can be nil; bridges to an optional.

但就我而言, titleColor好像都是 nullablenonnull .是 nullable因为我们可能不需要设置值和它 nonnull因为它始终具有默认值。我是否理解正确,在我的情况下,我应该选择可空还是非空?
// IN .h file 
@property(nonatomic, strong) UIColor *titleColor;
// @property(nonatomic, strong, nullable) UIColor *titleColor;


// IN .m file
-(UIColor *)titleColor{
if(!_titleColor){
_titleColor = [UIColor greenColor];
}
return _titleColor;
}

最佳答案

使用nonnull如果 setter 不接受 nil并且 setter/getter 永远不会返回nil .

使用nullable如果 setter 接受 nil或者 getter 是否会返回 nil .

请记住,Objective-C 不会真正关心你实际做了什么。

因此,如果在 Swift 中你会使用一个可选项,那么将其设为 nullable , 否则设为 nonnull .

关于ios - 对已经具有默认值的属性使用 nullable/nonnull,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39970162/

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