2015-09-14 30 views
-2

我正在開發一個Note應用程序。我開發了一個保存按鈕,當它被按下時,它將自定義名稱的註釋保存到NSUserDefaults中。swift - NSUserDefaults獲取保存筆記的列表

我可以取然而筆記的內容,我想不出如何讓保存的名字筆記列表。

爲例子,如果用戶保存的3注的自定義命名,如:狗,貓,食物我怎麼能賣到這個被保存的命名爲UITableview

要保存我使用注意事項:

var noteToSave: NSString = noteResult.text; 
NSUserDefaults.standardUserDefaults().setObject(noteToSave, forKey: nameSave.text) 
NSUserDefaults.standardUserDefaults().synchronize() 

獲取所有的鍵:

var defaults: NSUserDefaults = NSUserDefaults.standardUserDefaults() 
     var defaultAsDic: [NSObject : AnyObject] = defaults.dictionaryRepresentation() 
     var keyArr: [AnyObject] = defaultAsDic.allKeys() 
     for key: String in keyArr { 
      NSLog("key [%@] => Value [%@]", key, defaultAsDic.valueForKey(key)) 

,但它不工作

+0

不知道的好方法是什麼你在問嗎? –

+0

我想說明保存到一個UITableView的音符鍵 - 我有嘗試過的println但是應用程序崩潰 – SNos

+0

不清楚這樣的要價(NSUserDefaults.standardUserDefaults()dictionaryRepresentation()keys.array。)。問題是如何填充表視圖?或者你如何獲取保存在NSUserDefaults中的東西? – rudd

回答

0

要獲得noteResult.text你應該添加以下代碼:

NSUserDefaults.standardUserDefaults().stringForKey("\(identity.text!)") 
+0

我可以得到noteResult.text內容。我需要的是獲取所有密鑰 – SNos

0

這裏很簡單:

var jo = [ 
     "a" : "1.0", 
     "b" : "2.0" 
    ] 
//Store your Dictionary into userDefaults. 
let userDefaults = NSUserDefaults.standardUserDefaults() 
userDefaults.setObject(jo, forKey: "yourKey") 

//Get keys from dictionary 
var allKeys = [String]() 
if let data0 = userDefaults.dictionaryForKey("yourKey") { 
    for (key, value) in data0 { 
     println("\(key) -> \(value)") 
     allKeys.append(key as! String) 
    } 
} else { 
    println("not set") 
} 

println(allKeys) //[b, a] 

現在你可以在你的tableView中顯示這​​個數組。

這裏是原來的答案:Swift NSUserDefaults not saving Dictionary?

和保存筆記爲NSUserDefaults不是存儲您的是data.Instead您可以使用其他工具一樣的plist時,SQLite等

+0

您應該添加一個鏈接,而不是複製代碼。原來這裏是【答案】(http://stackoverflow.com/questions/25752433/swift-nsuserdefaults-not-saving-dictionary) – ridvankucuk

+0

我加入了原來的答案的鏈接,你說.. :) –