Ich habe eine Anmeldeseite mit diesem Tutorial erstellt:Anmeldeseite funktioniert nicht swift 2
https://dipinkrishna.com/blog/2015/07/ios-login-signup-screen-tutorial-swift-2-xcode-7-ios-9-json/
Änderungen auf mein Bedürfnis mit Web-Service auf Tutorial getestet arbeiten gut, aber wen ich versuche, mein Web-Service loggt sich nicht ein, aber in xcode log habe ich Daten, die ich möchte. Ich möchte sie auf einer anderen Seite zeigen, die eine andere Klasse verwendet.
Anmelden View-Controller-Codes:
do {
let post:NSString = "username=\(username)&password=\(password)"
NSLog("PostData: %@",post);
let url:NSURL = NSURL(string:"http://www.k-pay.ir/home/loginpost")!
let postData:NSData = post.dataUsingEncoding(NSASCIIStringEncoding)!
let postLength:NSString = String(postData.length)
let request:NSMutableURLRequest = NSMutableURLRequest(URL: url)
request.HTTPMethod = "POST"
request.HTTPBody = postData
request.setValue(postLength as String, forHTTPHeaderField: "Content-Length")
request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
request.setValue("application/json", forHTTPHeaderField: "Accept")
var reponseError: NSError?
var response: NSURLResponse?
var urlData: NSData?
do {
urlData = try NSURLConnection.sendSynchronousRequest(request, returningResponse:&response)
} catch let error as NSError {
reponseError = error
urlData = nil
}
if (urlData != nil) {
let res = response as! NSHTTPURLResponse!;
NSLog("Response code: %ld", res.statusCode);
if (res.statusCode >= 200 && res.statusCode < 300)
{
let responseData:NSString = NSString(data:urlData!, encoding:NSUTF8StringEncoding)!
NSLog("Response ==> %@", responseData);
//var error: NSError?
let jsonData:NSDictionary = try NSJSONSerialization.JSONObjectWithData(urlData!, options:NSJSONReadingOptions.MutableContainers) as! NSDictionary
let buildingid: NSString = jsonData.valueForKey("buildingid") as! NSString
let buildingname: NSString = jsonData.valueForKey("buildingname") as! NSString
let unitOwnerName: NSString = jsonData.valueForKey("unitOwnerName") as! NSString
let unitMostajerName: NSString = jsonData.valueForKey("unitMostajerName") as! NSString
let SakenMoteqayyer: NSString = jsonData.valueForKey("SakenMoteqayyer") as! NSString
let SakenSabet: NSString = jsonData.valueForKey("SakenSabet") as! NSString
let BedehiMalek = (jsonData["BedehiMalek"] as? NSString) ?? 0
let Tedad: NSString = jsonData.valueForKey("Tedad") as! NSString
let Metragh: NSString = jsonData.valueForKey("Metragh") as! NSString
let unitId: NSString = jsonData.valueForKey("unitId") as! NSString
Und Code I in Wohnansicht Controller schrieb:
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(true)
let prefs:NSUserDefaults = NSUserDefaults.standardUserDefaults()
let isLoggedIn:Int = prefs.integerForKey("ISLOGGEDIN") as Int
if (isLoggedIn != 1) {
self.performSegueWithIdentifier("goto_login", sender: self)
}else {
Tedad.text = "\(Tedad)"
Metragh.text = "\(Metragh)"
buildingid.text = "\(buildingid)"
buildingname.text = "\(buildingname)"
unitId.text = "\(unitId)"
unitMostajerName.text = "\(unitMostajerName)"
unitOwnerName.text = "\(unitOwnerName)"
SakenMoteqayyer.text = "\(SakenMoteqayyer)"
SakenSabet.text = "\(SakenSabet)"
BedehiMalek.text = "\(BedehiMalek)"
}
}
} ich einige Labels in meiner Heimat-View-Controller angeschlossen haben.
Warum Anmeldung funktioniert nicht und wie kann ich Daten in einer anderen Klasse platzieren?
------ ------ UPDATE Added dieser Code Zeichen gut, aber nicht gut Daten in Etiketten zeigt:
let prefs:NSUserDefaults = NSUserDefaults.standardUserDefaults()
prefs.setObject(buildingid, forKey: "buildingid")
prefs.setInteger(1, forKey: "ISLOGGEDIN")
prefs.synchronize()
prefs.setObject(buildingname, forKey: "buildingname")
prefs.setInteger(1, forKey: "ISLOGGEDIN")
prefs.synchronize()
prefs.setObject(unitOwnerName, forKey: "unitOwnerName")
prefs.setInteger(1, forKey: "ISLOGGEDIN")
prefs.synchronize()
prefs.setObject(unitMostajerName, forKey: "unitMostajerName")
prefs.setInteger(1, forKey: "ISLOGGEDIN")
prefs.synchronize()
prefs.setObject(SakenMoteqayyer, forKey: "SakenMoteqayyer")
prefs.setInteger(1, forKey: "ISLOGGEDIN")
prefs.synchronize()
prefs.setObject(SakenSabet, forKey: "SakenSabet")
prefs.setInteger(1, forKey: "ISLOGGEDIN")
prefs.synchronize()
prefs.setObject(BedehiMalek, forKey: "BedehiMalek")
prefs.setInteger(1, forKey: "ISLOGGEDIN")
prefs.synchronize()
prefs.setObject(Tedad, forKey: "Tedad")
prefs.setInteger(1, forKey: "ISLOGGEDIN")
prefs.synchronize()
prefs.setObject(Metragh, forKey: "Metragh")
prefs.setInteger(1, forKey: "ISLOGGEDIN")
prefs.synchronize()
prefs.setObject(unitId, forKey: "unitId")
prefs.setInteger(1, forKey: "ISLOGGEDIN")
prefs.synchronize()
self.dismissViewControllerAnimated(true, completion: nil)
Labels sind wie this gezeigt
Dies ist eine unglaublich schwierige Frage zu den gegebenen Informationen zu beantworten. Bitte zeigen Sie den Code, mit dem Sie arbeiten, damit wir Ihnen zeigen können, wo Sie falsch liegen. – MikeG
@MikeG Code hinzugefügt – VahidGR
Was meinst du mit ["funktioniert nicht"] (http://importblogkit.com/2015/07/does-not-work/)? – nhgrif