ios中是否有布尔类型的对象?
Is there an object of type boolean in ios?
我想使用非原子且弱的 属性 但我不能使用 BOOL,因为它不是对象。 ios/objective-c 的等价物是什么?
谢谢。
对于 BOOL
.
等非对象类型,您应该将 属性 设置为 assign
而不是 weak
示例:
@property (nonatomic, assign) BOOL isValid;
Dave Wood 是正确的(您可能想将 assign
与 BOOL
一起使用)。
您可以使用NSNumber
:
@property (nonatomic, weak) NSNumber *isValidNumber;
// …
BOOL number = @(YES);
self.isValidNumber = number;
// …
if (self.isValidNumber.boolValue) {
// something is valid
}
但是,当方法 returns 时,isValidNumber
将变为 nil
(因为没有更多 strong
指向它的指针)。所以不清楚为什么你想要这样做。
我想使用非原子且弱的 属性 但我不能使用 BOOL,因为它不是对象。 ios/objective-c 的等价物是什么?
谢谢。
对于 BOOL
.
assign
而不是 weak
示例:
@property (nonatomic, assign) BOOL isValid;
Dave Wood 是正确的(您可能想将 assign
与 BOOL
一起使用)。
您可以使用NSNumber
:
@property (nonatomic, weak) NSNumber *isValidNumber;
// …
BOOL number = @(YES);
self.isValidNumber = number;
// …
if (self.isValidNumber.boolValue) {
// something is valid
}
但是,当方法 returns 时,isValidNumber
将变为 nil
(因为没有更多 strong
指向它的指针)。所以不清楚为什么你想要这样做。