2017-02-24 6 views
0

私は複数行のテキストを持っており、それらにUserDefaultsを保存します。ときに私はテキストを取得したい時にはnilを返します。しかしそこにはテキストがあります。どのように私は何も返されないことを行うことができますか?swift UserDefaults NSMutableArrayとしてnilを返します。

var savedReports: NSMutableArray = NSMutableArray() 

    if let sR = defaults.object(forKey: "savedReports") as? NSMutableArray { 
     savedReports = sR.mutableCopy() as! NSMutableArray 
    } 

答えて

1

UserDefaults APIは常に不変の配列を返します。あなたが欲しいのは:

var savedReports: NSMutableArray = NSMutableArray() 

if let sR = defaults.object(forKey: "savedReports") as? NSArray { 
    savedReports = sR.mutableCopy() 
} 
+0

なぜFoundation型の代わりにSwift型を使用しないのですか? – JAL

+0

@LeoDabusあ、申し訳ありませんが、気づいていません。 Swiftの代わりにFoundationの悲しい使用 –

+1

@ Xcoder123 Swiftのバージョンは、SwiftとFoundationのタイプを使用するのとは独立しています。私はそれがどのように関連しているかはわかりません。 – JAL

関連する問題