私はiosアプリを作っています。下の私のテーブルビュー画像を見てください。デリゲートを使用して変数にユーザーの入力を保存するにはどうすればよいですか?
あなたは(+)ボタンを追加]をクリックした場合、あなたはそれぞれのテキストフィールドに韓国語(KOR)にENGの単語とその意味を追加することができます。
(それが、右上部にあり、「저장」)テキストフィールドを充填し、保存ボタンをクリックした後、単語は以下の画像のように追加されます。
例えば、ENGは無限大ですと意味(KOR)は "끝없는" です。
そして、私はUIReferenceLibraryViewControllerを使いたいと思います。 リストのセルをクリックすると、その辞書が表示されます。
@IBAction func viewDictionary(_ sender: UITapGestureRecognizer) {
let engDictionaryWord = **engListWord**
let ViewController = UIReferenceLibraryViewController(term: engDictionaryWord)
self.present(ViewController, animated: true, completion: nil)
}
このメソッドを使用します。 しかし、私はENG入力をengListWordに保存する方法を知らない。
pic2のswiftファイル(addWordViewController.swift)には、このようなprepare()メソッドがあります。 addWordViewController.swift
override func viewDidLoad() {
super.viewDidLoad()
engTextField.delegate = self
korTextField.delegate = self
// Set up views if editing an existing Word.
if let word = word{
engTextField.text = word.eng
korTextField.text = word.kor
}
// Do any additional setup after loading the view.
}
で
// This method lets you configure a view controller before it's presented.
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
super.prepare(for: segue, sender: sender)
// Configure the destination view controller only when the save button is pressed.
guard let button = sender as? UIBarButtonItem, button === saveButton else {
os_log("The save button was not pressed, cancelling", log: OSLog.default, type: .debug)
return
}
let eng = engTextField.text ?? ""
let kor = korTextField.text ?? ""
// Set the meal to be passed to WordTableViewController after the unwind segue.
word = Word(eng:eng, kor:kor)
}
とのviewDidLoad()メソッドは、私は私が使用する必要がどの変数かわかりません。 私のプロジェクトには他の素早いファイルがあります。上記のコードを誤ってアップロードした場合は教えてください!すぐに私の質問を編集します。
Main.Storyboard
私はGestureRecognizerを使用している場合、私はこのコードを作ったが、私はそれが正しいと知っていない...
@IBAction func MyDictionary(_ sender: UITapGestureRecognizer) {
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
performSegue(withIdentifier: "viewDictionary", sender: indexPath)
}
func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// I just made this identifier up, but create one yourself in the storyboard
if segue.identifier == "viewDictionary" {
// Define your vc
let libController = segue.destination as! UIReferenceLibraryViewController
// Define indexPath
let indexPath = sender as! IndexPath
// Set value in destination vc
libController.engWord = words[indexPath.row].eng
}
}
}
私は実際に質問を理解していません。英語と韓国語の両方を含むテーブルビューセルを押すと、単語を保存しますか? – matiastofteby
@matiastoftebyテーブルビューのセルを押すと、UIReferenceLibraryViewControllerを使用して辞書ページを表示したいとします。 UIReferenceLibraryViewControllerを使用するには、ENGは必要なものです。 新しい単語を追加すると、ENGテキストを保存して、それをUIReferenceLibraryViewControllerコードで使用したいと思います。しかし、私はENGのテキストを保存することはできません。 UIReferenceLibraryViewControllerを使用するには、各ENGテキストを** engListWord **に保存する必要があります。 –
@matiastofteby要するに、各テーブルビューセルの英語のテキストを保存します。 –