2016-12-13 10 views
0

NSUserDefaultsの使用を伴うアプリケーションで作業しています。私は正常に2つの文字列を保存し、現在intを保存しようとしています。NSUserDefaultエラーです。 INTは呼び出されたときに文字列として表示されます

これは私のエラーはnumberTwoが文字列として表示されているということであるコード

var number = Int(0) 

override func viewDidLoad() { 
    super.viewDidLoad() 

let numberOne = NSUserDefaults.standardUserDefaults() 
    numberOne.setValue(number, forKey: "num") 

let numberTwo = numberOne.stringForKey("num") 

if numberTwo > 1 
    { 
     //will insert code later 
    } 

です。これは初めてのNSUserDefaultの実験です。私は初心者ですが、どんな助けもありがとうございます。

+0

を、あなたがそれを得るため、文字列表現を求めているようだ:stringForKey – Volker

+1

それはあなたを与えるので、あなたは、文字列を尋ねるので、 string with 'stringForKey' –

+0

リンゴ(' String')をオレンジ( 'Int')と比較していて、' setValue:forKey'をユーザーのデフォルトで使用しないでください。 – vadian

答えて

0

整数値として扱う場合は、 ULDセット(保存)とsetInteger:forKey:integerForKey:を使用することにより、整数として値を取得:

var number = Int(0) 

override func viewDidLoad() { 
    super.viewDidLoad() 

    let numberOne = NSUserDefaults.standardUserDefaults() 
    numberOne.setInteger(number, forKey: "num") 

    let numberTwo = numberOne.integerForKey("num") // 0 

    if numberTwo > 1 
    { 
     //will insert code later 
    } 
} 
+0

ありがとう!魅力的に働いた。 – NICK

0

あなたの価値が、私はそれはあなたがより多くのためにUserDefaults API Referenceを見てとることができ

let numberTwo = numberOne.integerForKey("num") 

だったと信じていスウィフト2場合は、(スウィフト3)

let numberTwo = numberOne.integer(forKey: "num") 

でそれを取得することができますIntある場合詳細などのオプション(object(forKey:)string(forKey:) ...など)

関連する問題