Ios swift can';t用字符串调用类的类型
我有 如果我想检查它是否为NSString,则可以:Ios swift can';t用字符串调用类的类型,ios,string,swift,Ios,String,Swift,我有 如果我想检查它是否为NSString,则可以: let fieldValue: AnyObject? 但当我尝试检查它是否为字符串时,它会给出错误: fieldValue!.isKindOfClass(NSString) 使用“是” fieldValue!.isKindOfClass(String) Cannot call value of non-function type '((AnyClass) -> Bool)!' 您可以通过执行以下操作来检查它是否为字符串: if f
let fieldValue: AnyObject?
但当我尝试检查它是否为字符串时,它会给出错误:
fieldValue!.isKindOfClass(NSString)
使用“是”
fieldValue!.isKindOfClass(String)
Cannot call value of non-function type '((AnyClass) -> Bool)!'
您可以通过执行以下操作来检查它是否为字符串:
if fieldValue is String {
//
}
现在您已经编辑了您的问题,这也起作用了:
var uiasd = [AnyObject]()
uiasd = ["asd", "asdf"]
if uiasd[0] .respondsToSelector("stringByAppendingFormat:") {
println("this is a string")
}
isKindOfClass()
仅适用于属于NSObject
子类的类
您可以使用字段值为String
var uiasd: AnyObject?
uiasd = "asdf"
if uiasd! .respondsToSelector("stringByAppendingFormat:") {
println("asdfasdfkjgkhkjhkjhkjhkj")
}
“
响应选择器(“stringByAppendingFormat:”)
”一点也不直观或安全<代码>是字符串是OP问题的适当解决方案。确定<代码>C类{@objc func stringByAppendingFormat({}}}这不是直观的,JtBandes,因此,这不是一个有效的答案,在swift中,它仍然是一个不允许的,它没有响应。它会在一个空数组中崩溃,或者如果第二个数组的输入为零
if fieldValue is String {
// do something with string
}