我的应用程序需要能够读取plist文件,并知道数据的类型,所以我创建了一个函数来计算对象的类型:使用Swift,当从plist加载数据时,如何判断布尔值和整数值之间的差异?
func getTypeOfObject(object: AnyObject) -> String {
if object as? [String:AnyObject] != nil {
return "dict"
} else if object as? [AnyObject] != nil {
return "array"
} else if object as? Bool != nil {
return "bool"
} else if object as? Int != nil {
return "int"
} else if object as? String != nil {
return "string"
} else {
return ""
}
}
的问题是,如果我调用的函数上我得到一个数字“布尔”返回。 如果我改变函数来检查一个数字,我首先得到“int”,当我传递一个布尔值时返回。
这似乎是因为当我从plist文件中的数据创建一个字典时,布尔值赋予一个整数值(1表示true,0表示false)。
有什么办法可以解决这个问题吗?
你知道任何可用于解析plist XML的框架/库吗? –
https://github.com/Wolg/awesome-swift#jsonxml-manipulation – lchamp
谢谢!我会看看它,看看它是否适合我。 –