Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 在json工作的强制中,无法将“NSData”类型的值转换为“Date”类型?_Swift - Fatal编程技术网

Swift 在json工作的强制中,无法将“NSData”类型的值转换为“Date”类型?

Swift 在json工作的强制中,无法将“NSData”类型的值转换为“Date”类型?,swift,Swift,这是针对json的工作,但我面临的问题是无法将类型为“NSData”的值转换为类型为“Date”的强制,我该如何解决。我在想日期参数的这个错误1-替换这个 func jsonDateCalling(){ //Json Serilizarions let jsonUrl = URL(string: "http://assetlinkasia.no-ip.biz:8001/hf_tracker/api/history.php?accesskey=12345&Vehilce=1

这是针对json的工作,但我面临的问题是无法将类型为“NSData”的值转换为类型为“Date”的强制,我该如何解决。我在想日期参数的这个错误

1-替换这个

func jsonDateCalling(){
    //Json Serilizarions
    let jsonUrl = URL(string: "http://assetlinkasia.no-ip.biz:8001/hf_tracker/api/history.php?accesskey=12345&Vehilce=1618&FromDate=2018-05-10 13:11&ToDate=2018-05-14 12:11")

    if let url = jsonUrl{
        let data = NSData(contentsOf: url)
        if let data = data{
            do{
                let jsonObject = try JSONSerialization.jsonObject(with: data as Date, options: .allowFragments)

                if let object = jsonObject as? [NSString: AnyObject]{
                    if let allDevices = object["data"] as? [[NSString: AnyObject]]{
                        print("Successfull")
                        self.tableArray = allDevices
                        self.searchTextTableview.reloadData()

                    }
                }
            }catch{
                print("Error Eccurred")
            }
        }
    }
}

这是一个数据对象,不是日期

2-不需要碎片,可以

 let jsonObject = try JSONSerialization.jsonObject(with: data as Data, options: .allowFragments)
3-这条线

 let jsonObject = try JSONSerialization.jsonObject(with: data as Data, options: [])

if let object = jsonObject as? [NSString: Any]

块主线程考虑使用URLSIST或Alamofire

日期,数据不是同一事物。简单的印刷错误。最好不要在Swift中使用NSData。从一开始就使用数据,不需要强制转换。
 let jsonObject = try JSONSerialization.jsonObject(with: data as Data, options: [])

if let object = jsonObject as? [NSString: Any]
 let data = NSData(contentsOf: url)