![](/img/trans.png)
[英]swift dictionary population issue: type 'AnyObject' does not conform to protocol 'NSCopying'
[英]Type 'String' does not conform to protocol 'NSCopying' - Array swift json Error
预先对不起我的英语不好。 我的Swiftcode有问题,我是Swift的新手,所以也许您可以帮我:)
这是我的代码。
request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding);
let task = NSURLSession.sharedSession().dataTaskWithRequest(request){
data, response, error in
if(error != nil)
{
println("error\(error)")
return;
}
var err: NSError?
var json = NSJSONSerialization.JSONObjectWithData(data, options: .MutableContainers, error: &err) as? NSDictionary
if let parseJSON = json
{
var resultValue:String = parseJSON["message"] as String!;
println("result: \(resultValue)")
self.LabelFalscheEingabe.text = "\(resultValue)";
if(resultValue == "Success")
{
var Projects:Array = parseJSON["projects"] as Array!; // here is the Error
}
}
task.resume()
}
'projects'是服务器上Array类型的变量,因此我想从服务器上将其作为Array获取,但是如果我尝试这样做,则会收到以下错误。
错误:“类型'String'不符合协议'NSCopying'”。
提前致谢 :)
您的Projects
数组不能这样声明,Swift必须知道数组中对象的类型 。
如果您不知道类型,则将其AnyObject
数组:
if let Projects = parseJSON["projects"] as? [AnyObject] {
// do something with Projects
}
如果您知道它是一个字符串数组,例如:
if let Projects = parseJSON["projects"] as? [String] {
// do something with Projects
}
整数数组:
if let Projects = parseJSON["projects"] as? [Int] {
// do something with Projects
}
由JSON制成的字典数组:
if let Projects = parseJSON["projects"] as? [[String:AnyObject]] {
// do something with Projects
}
等等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.