AnyObject 不可转换为 'String'
AnyObject is not convertible to 'String'
我收到以下错误 AnyObject' 无法转换为 'String'。我在 if (answerArray != NSNull() && answerArray != nil)
行收到此错误
我尝试将其转换为字符串,但未能解决问题。我在下面发布了整个代码。
let answerArray : AnyObject = jsonparser.objectWithString(answer)
if (answerArray != NSNull() && answerArray != nil) {
}
我的理解是 jsonparser.objectWithString(answer)
应该是 return 一个数组,基于分配给它的变量的名称。
如果它是异构类型的数组,您可以尝试转换为 NSArray
:
if let answerArray = jsonparser.objectWithString(answer) as? NSArray {
...
}
如果数组应该包含相同类型的对象(比方说 Int
),那么您可以尝试转换为 swift 数组:
if let answerArray = jsonparser.objectWithString(answer) as? [Int] {
...
}
请注意,非可选变量 永远不会 为 nil
- 并且您已将 answerArray
声明为非可选变量。
如果您想检查 NSNull
,我建议您阅读 this question 和相关答案。
我猜错误是 answerArray != nil
- Swift 很愚蠢,因为 returns 这里的错误是 "not convertible to String"。更有帮助的是 answerArray
is not Optional.
这就是你的问题 - 你有 let answerArray : AnyObject...
- 而 AnyObject
不是 Optional
。在 Swift 中,'answerArray' 永远不会是 'nil',因为只有 Optional
类型可以是 nil
.
如果不查看 jsonparser.objectWithString
的作用,我很难更正您的代码,但实际上,编译器告诉您您正在检查非可选类型是否为 nil - 这是不正确的。
我收到以下错误 AnyObject' 无法转换为 'String'。我在 if (answerArray != NSNull() && answerArray != nil)
我尝试将其转换为字符串,但未能解决问题。我在下面发布了整个代码。
let answerArray : AnyObject = jsonparser.objectWithString(answer)
if (answerArray != NSNull() && answerArray != nil) {
}
我的理解是 jsonparser.objectWithString(answer)
应该是 return 一个数组,基于分配给它的变量的名称。
如果它是异构类型的数组,您可以尝试转换为 NSArray
:
if let answerArray = jsonparser.objectWithString(answer) as? NSArray {
...
}
如果数组应该包含相同类型的对象(比方说 Int
),那么您可以尝试转换为 swift 数组:
if let answerArray = jsonparser.objectWithString(answer) as? [Int] {
...
}
请注意,非可选变量 永远不会 为 nil
- 并且您已将 answerArray
声明为非可选变量。
如果您想检查 NSNull
,我建议您阅读 this question 和相关答案。
我猜错误是 answerArray != nil
- Swift 很愚蠢,因为 returns 这里的错误是 "not convertible to String"。更有帮助的是 answerArray
is not Optional.
这就是你的问题 - 你有 let answerArray : AnyObject...
- 而 AnyObject
不是 Optional
。在 Swift 中,'answerArray' 永远不会是 'nil',因为只有 Optional
类型可以是 nil
.
如果不查看 jsonparser.objectWithString
的作用,我很难更正您的代码,但实际上,编译器告诉您您正在检查非可选类型是否为 nil - 这是不正确的。