2016-05-05 8 views
0

Я пытаюсь проверить существующую с помощью сеанса входа в систему, но я был выброшен эту ошибкуSwift 2: AnyObject? не конвертируется в NSString

'AnyObject? не конвертируется в «NSString»; вы хотели использовать «как!» заставить downcast?

в этой строке кода

self.usernameLabel.text = prefs.valueForKey("USERNAME") as NSString 

Полный блок кода это

import UIKit 

class ViewController: UIViewController { 

@IBOutlet weak var usernameLabel: UILabel! 

//Check for existing login, else show login 
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("goToLogin", sender: self) 
    } else { 
     self.usernameLabel.text = prefs.valueForKey("USERNAME") as NSString 
    } 
} 

override func viewDidLoad() { 
    super.viewDidLoad() 

} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 


} 

Что такое лучший способ это исправить?

Error thrown

+0

Вы можете использовать как! NSString –

ответ

2

попробовать это ...

if let username = prefs.valueForKey("USERNAME") as? String{ 
     self.usernameLabel.text = username 
    } 

или если вы хотите использовать NSString .. (Просто вариант)

if let username = prefs.valueForKey("USERNAME") as? NSString{ 
     self.usernameLabel.text = username 
    } 
0

изменения NSString в строку,

self.usernameLabel.text = prefs.valueForKey("USERNAME") as? String 

его вопрос король штраф, надеюсь, его полезно

Смежные вопросы