我正在制作iOS笔记,需要一个标题和笔记的应用程序。我的标题为textField
,笔记为textView
。然后我将这两个添加到一个数组中并将它们添加到我的tableView
中,我们可以看到标题和注释。我使用的代码会在tableView
中附加我的所有笔记,并为所有标题显示相同的内容。我知道我必须使用dictionary
,但我该如何实现呢?这是具有textView
和textField
@IBAction func addItem(_ sender: Any)
{
list.append(textField.text!)
list2.append(notesField.text!)
}
其中list
和list2
为空array
在我的tableView
我有可展开的单元格,其中textView
显示list2
的内容,该VC的代码为:
override func awakeFromNib() {
super.awakeFromNib()
textView.text = list2.joined(separator: "\n")
}
答案 0 :(得分:2)
只需要一个字典数组
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
}
注意:我没有在代码上测试它,但希望它能肯定工作。 祝一切顺利 。
答案 1 :(得分:1)
通过分配:
,您可以在Swift中向字典添加元素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)")
}