2017-03-19 87 views
-1

我正在做一個需要標題和筆記的iOS筆記記錄應用程序。我的筆記有textField,我的筆記有textView。然後,我將這兩個數組添加到數組中,並將它們追加到我的tableView中,在那裏我們可以看到標題和筆記。我正在使用的代碼在tableView之後附加了我的所有筆記,並對所有標題顯示相同。我知道我必須使用dictionary,但我該如何實現呢?這是有textViewtextField的VC代碼如何在字典中添加值?

@IBAction func addItem(_ sender: Any) 
{ 
     list.append(textField.text!) 
     list2.append(notesField.text!) 
} 

其中listlist2是空array 在我tableView我有有一個textView顯示的list2對於VC的內容和代碼膨脹的室是:

override func awakeFromNib() { 
    super.awakeFromNib() 

    textView.text = list2.joined(separator: "\n") 

} 
+1

閱讀Swift語言指南。 – Alexander

回答

1

只要看看字典的數組

var arrOfDict = [[String :AnyObject]]() 
var dictToSaveNotest = [String :AnyObject]() 

@IBAction func addItem(_ sender: Any) 
{ 
    dictToSaveNotest .updateValue(textField.text! as AnyObject, forKey: "title") 
    dictToSaveNotest .updateValue(NotesField.text! as AnyObject, forKey: "notesField") 
    arrOfDict.append(dictToSaveNotest) 
} 

而只是填充它在的tableView數據源法通過只是使在tableViewCell類titleLable兩個出口和notesLabel

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
var cell = self.tableView.dequeueReusableCellWithIdentifier("cell") as! yourTableViewCell 

     cell.titleLabel.text = arrayOfDict[indexPath.row]["title"] as! String! 
     cell.notesLabel.text = arrayOfDict[indexPath.row]["notesField"] as! String! 

     return cell 
    } 

注:我沒有測試它在代碼上,但希望它肯定會工作。 一切順利。

0

您可以通過分配的元素添加到斯威夫特的字典:

var dict = [String : String]() 

let title = "My first note" 
let body = "This is the body of the note" 

dict[title] = body // Assigning the body to the value of the key in the dictionary 

// Adding to the dictionary 
if dict[title] != nil { 
    print("Ooops, this is not to good, since it would override the current value") 

    /* You might want to prefix the key with the date of the creation, to make 
    the key unique */ 

} else { 
// Assign the value of the key to the body of the note 
    dict[title] = body 
} 

然後,您可以通過字典使用元組循環:

for (title, body) in dict { 
    print("\(title): \(body)") 
} 

如果你只在身體或標題有興趣,你可以簡單地用_替換標題或正文這樣忽略其他:

for (_, body) in dict { 
    print("The body is: \(body)") 
} 
// and 
for (title, _) in dict { 
    print("The title is: \(title)") 
} 

標題/體也可通過鍵訪問或值的字典的屬性:

for title in dict.keys { 
    print("The title is: \(title)") 
} 
// and 
for body in dict.values { 
    print("The body is: \(body)") 
}