事情获得零值我所做的:路过时价值API
我有一个URL API将在我的表视图中显示的一些数据。 2.And我从我的url中获取名为“_id”的特定值,我只是将该值传递给一个自定义类对象。
然后,我将该类对象的值传递给另一个调用url的API之一。在那里我得到的值为零。
这里是保险业监督米填充数据,以我的表view.And我是从API“_id”以特定的值,我存储该值一个自定义类对象的代码:
// Showing favourites
func populateFavourites()
{
let token = NSUserDefaults.standardUserDefaults().valueForKey("access_token") as! String
let headers = ["x-access-token": token]
let request = NSMutableURLRequest(URL: NSURL(string: "some url")!)
request.HTTPMethod = "GET"
request.allHTTPHeaderFields = headers
let session = NSURLSession.sharedSession()
let dataTask = session.dataTaskWithRequest(request, completionHandler: { (data, response, error) -> Void in
if (error != nil)
{
print(error)
}
else
{
dispatch_async(dispatch_get_main_queue(),{
if let json = (try? NSJSONSerialization.JSONObjectWithData(data!, options: [])) as? Dictionary<String,AnyObject>
{
print("Success Got Json Data")
let success = json["success"] as? Int
if(success == 1)
{
let jsonData = json["data"] as! NSArray
if(jsonData.count>0)
{
for items in jsonData
{
let BObj = items as! NSDictionary
let BusinessDetails = BObj.valueForKey("business_id") as! Dictionary<String,AnyObject>
self.FavBusinessValues.append(Businessdata(json:BusinessDetails))
print(items)
let FavId = BObj.valueForKey("_id") as! String
self.FavDelete?.FavIds = FavId
print(FavId)
}
self.tableView.reloadData()
}
else
{
self.CreateNoDataLabel()
}
}
else
{
let message = json["message"] as? String
print("Fav Message ",message)
let alert = UIAlertController(title: "Error: ", message: message, preferredStyle: UIAlertControllerStyle.Alert)
// add an action (button)
alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: nil))
// show the alert
self.presentViewController(alert, animated: true, completion: nil)
}
}
})
}
})
dataTask.resume()
}
在我上面的代码这是我在特定值“_id”,我传递给我的自定义OBJET类:
let FavId = BObj.valueForKey("_id") as! String
self.FavDelete?.FavIds = FavId
print(FavId)
这print(FavId)
被打印的正确value.Here是我对自定义类objec存储“_id”的那个值T:
import Foundation
class Favdelete
{
var FavIds : String?
init(json:String)
{
self.FavIds = json as? String
}
}
那么我的“_id”客体价值FavIds
传递给我的我的API calling.That一个代码是在下面:
func apidelete() {
let Favouriteid = FavDelete?.FavIds
print(Favouriteid)
let userToken = NSUserDefaults.standardUserDefaults().valueForKey("access_token") as! String;
print(userToken)
let headers = [
"x-access-token": userToken,
"cache-control": "no-cache",
"postman-token": "81fbd1fc-c333-3ceb-272a-a9ecffb2dad2",
"content-type": "application/x-www-form-urlencoded"
]
let FBI = "favourite_id="+Favouriteid!
let postData = NSMutableData(data: FBI.dataUsingEncoding(NSUTF8StringEncoding)!)
let request = NSMutableURLRequest(URL: NSURL(string: "some url")!,
cachePolicy: .UseProtocolCachePolicy,
timeoutInterval: 10.0)
let session = NSURLSession.sharedSession()
let dataTask = session.dataTaskWithRequest(request, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error)
} else {
let httpResponse = response as? NSHTTPURLResponse
print(httpResponse)
dispatch_async(dispatch_get_main_queue(),{
if let json = (try? NSJSONSerialization.JSONObjectWithData(data!, options: [])) as? Dictionary<String,AnyObject>
{
print("Success Got Json Data");
let success = json["success"] as? Int;
var message:String = "";
if(success == 1)
{
message = json["message"] as! String;
}
else
{
message = json["message"] as! String;
}
print(message);
let alert = UIAlertController(title: "Message from server", message: message, preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: nil))
self.presentViewController(alert, animated: true, completion: nil)
}
})
}
})
dataTask.resume()
}
当我试图打印此:
let Favouriteid = FavDelete?.FavIds
print(Favouriteid)
我马上崩溃,它说在我的控制台打印零。
任何人都可以帮助我。
更新时间:
在我的第一个功能是method.That当我得到特定值和存储值到我的自定义对象。我只是打印它。我正在逐渐零也有。
该生产线是:
let FavId = BObj.valueForKey("_id") as! String
self.FavDelete?.FavIds = FavId
print(self.FavDelete?.FavIds)
其打印零
更新时间:
我试过,但我得到的错误是'不能调用非功能型的价值“Favdelete?”' – mark
在你更新代码,您可以在此行 后打印'让FavId = BObj.valueForKey(“_ ID”)如!字符串“来查看Fav ID是否不是零? – idocode
我只得到正确的ID – mark