【问题标题】:BOOL array in Objective-CObjective-C 中的 BOOL 数组
【发布时间】:2020-03-13 21:07:57
【问题描述】:

如何将 BOOL 数组声明为 Objective-C 类中的属性?这是不正确的:

@property (nonatomic) NSArray<BOOL> *checked;

【问题讨论】:

  • 您不能将原语(BOOL、int、CGPoint 等)放入NSArray,只能放入对象。一种方法是将它们封装到NSNumberNSValue 中,这是最常见的。
  • 只要你可以这样初始化 -> type arrayName [ arraySize ]; -> BOOL arrayName [5]; BOOL arrayName[3] = { YES, NO, YES };
  • 这是一种古老的c方式

标签: ios objective-c properties nsarray


【解决方案1】:

您应该使用NSNumber 并使用:- (NSNumber *)initWithBool:(BOOL)value; 初始化它们。所以属性应该是这样的:

@property (nonatomic) NSArray<NSNumber *> *checked; 

【讨论】:

  • 你应该使用现代语法:@(boolValue)
猜你喜欢
  • 2010-11-16
  • 1970-01-01
  • 1970-01-01
  • 2015-04-24
  • 2011-10-04
  • 1970-01-01
  • 1970-01-01
  • 2011-01-07
  • 1970-01-01
相关资源
最近更新 更多