我正在努力更好地了解每个人都有不同的用例。
据我所知:
arrayValue:是一个非可选数组,如果它是nil
但我无法正确理解你想在哪里使用arrayObject
?当实体不是JSON
时,您似乎会使用它。但是我无法理解为什么/怎么可能不是JSON
,是关于我们自己制作的自定义对象呢?
这是与数组相关的JSON extension:
extension JSON {
//Optional [JSON]
public var array: [JSON]? {
if self.type == .array {
return self.rawArray.map { JSON($0) }
} else {
return nil
}
}
//Non-optional [JSON]
public var arrayValue: [JSON] {
return self.array ?? []
}
//Optional [Any]
public var arrayObject: [Any]? {
get {
switch self.type {
case .array:
return self.rawArray
default:
return nil
}
}
set {
if let array = newValue {
self.object = array as Any
} else {
self.object = NSNull()
}
}
}
}