Swift3:如何在 UITableViewCell 中保存 UITextView 数据
Swift3: How to save UITextView data in UITableViewCell
如何在UITableViewCell
中分别保存UITextView
个数据?我有两个文件,一个是 TableViewController
和 descViewController
。在TableViewController
中存储了一个单词数组,每个单元格都连接到descViewController
,其中设置了一个UITextView
。我想在每个单元格中保存文本数据。我怎么能做到?以下是我的尝试,几乎成功了
- 在我的 descViewController 中;
@IBOutlet weak var myLabel: UILabel!
var passedValue = ""
var passedText = ""
@IBOutlet weak var myTextView: UITextView!
在viewDidLoad里面descViewController
myTextView.delegate = self
myTextView.text = passedText
myTextView.font = UIFont(name: "times new roman", size: 15)
myLabel.text = passedValue
- 在我的 TableViewController 中;
func textData() -> String {
if let txt = textViewUserDefaults.object(forKey: "txtData") as? String {
return txt
}
return ""
}
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
// Get Cell Label
let indexPath = tableView.indexPathForSelectedRow;
let currentCell = tableView.cellForRow(at: indexPath!) as UITableViewCell!;
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier: "desc") as! descViewController
viewController.passedValue = (currentCell?.textLabel?.text)!
viewController.passedText = textData()
let navController = UINavigationController(rootViewController: viewController)
self.present(navController, animated: false , completion: nil)
}
我创建了这个方法。单击每个单元格时的目的地是descViewController
,我准备了passedText
和passedValue
。这个passedValue
是一个UIlable
。这个标签是为了一个String
显示在descViewController
这个结果是成功的。然而,尽管我的文本视图数据已成功传递,但每个单元格数据都将保持相同的值。例如,如果我写了类似 "Today is a sunny day!" 的内容,保存它,当我单击另一个单元格打开 descViewController
时,结果在我的文本视图中是 "Today is a sunny day!"。这是我现在遇到的麻烦。我为存储数据编写的代码如下; textViewUserDefaults
是我用UserDefaults.Standard
设置的名字。
textViewUserDefaults.set(self.myTextView.text, forKey: "txtData")
我想让每个单元格都包含每个值。你能给我提供成功运行的代码吗?
谢谢
let YOURARRAYNAME : NSMutableArray = NSMutableArray()
当用户输入一些文本并提交时,然后将该文本添加到您的数组中
YOURARRAYNAME.addObject(YOURTEXT)
在这个方法中
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
你有 tableview 单元格索引路径,所以当你想传递数据时
let viewController = storyboard.instantiateViewController(withIdentifier: "desc") as! descViewController
viewController.passedValue = YOURARRAYNAME.objectAtIndex(indexpath.row) // here you pass text and what is passedvalue i dont know so you check this
viewController.passedText = textData() // what is your passedtext and textdata() you also pass value here
let navController = UINavigationController(rootViewController: viewController)
self.present(navController, animated: false , completion: nil)
如何在UITableViewCell
中分别保存UITextView
个数据?我有两个文件,一个是 TableViewController
和 descViewController
。在TableViewController
中存储了一个单词数组,每个单元格都连接到descViewController
,其中设置了一个UITextView
。我想在每个单元格中保存文本数据。我怎么能做到?以下是我的尝试,几乎成功了
- 在我的 descViewController 中;
@IBOutlet weak var myLabel: UILabel!
var passedValue = ""
var passedText = ""
@IBOutlet weak var myTextView: UITextView!
在viewDidLoad里面descViewController
myTextView.delegate = self
myTextView.text = passedText
myTextView.font = UIFont(name: "times new roman", size: 15)
myLabel.text = passedValue
- 在我的 TableViewController 中;
func textData() -> String {
if let txt = textViewUserDefaults.object(forKey: "txtData") as? String {
return txt
}
return ""
}
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
// Get Cell Label
let indexPath = tableView.indexPathForSelectedRow;
let currentCell = tableView.cellForRow(at: indexPath!) as UITableViewCell!;
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier: "desc") as! descViewController
viewController.passedValue = (currentCell?.textLabel?.text)!
viewController.passedText = textData()
let navController = UINavigationController(rootViewController: viewController)
self.present(navController, animated: false , completion: nil)
}
我创建了这个方法。单击每个单元格时的目的地是descViewController
,我准备了passedText
和passedValue
。这个passedValue
是一个UIlable
。这个标签是为了一个String
显示在descViewController
这个结果是成功的。然而,尽管我的文本视图数据已成功传递,但每个单元格数据都将保持相同的值。例如,如果我写了类似 "Today is a sunny day!" 的内容,保存它,当我单击另一个单元格打开 descViewController
时,结果在我的文本视图中是 "Today is a sunny day!"。这是我现在遇到的麻烦。我为存储数据编写的代码如下; textViewUserDefaults
是我用UserDefaults.Standard
设置的名字。
textViewUserDefaults.set(self.myTextView.text, forKey: "txtData")
我想让每个单元格都包含每个值。你能给我提供成功运行的代码吗?
谢谢
let YOURARRAYNAME : NSMutableArray = NSMutableArray()
当用户输入一些文本并提交时,然后将该文本添加到您的数组中
YOURARRAYNAME.addObject(YOURTEXT)
在这个方法中
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
你有 tableview 单元格索引路径,所以当你想传递数据时
let viewController = storyboard.instantiateViewController(withIdentifier: "desc") as! descViewController
viewController.passedValue = YOURARRAYNAME.objectAtIndex(indexpath.row) // here you pass text and what is passedvalue i dont know so you check this
viewController.passedText = textData() // what is your passedtext and textdata() you also pass value here
let navController = UINavigationController(rootViewController: viewController)
self.present(navController, animated: false , completion: nil)