ios - 如何在 Swift 中使用一个按钮保存来自多个 UITextView 的文本

标签 ios swift textview

We have the following stuff

我们有 4 个导出 (UITextView),最后是一个保存按钮。

我希望能够使用一个简单的按钮保存我们在所有 TextView 中编写的内容。怎么做?我完成了这项工作,但保存了一个 UITextView。

代码:

class agendaDeSuen_os: UIViewController , UITextFieldDelegate, UITextViewDelegate {      

    @IBOutlet weak var scrollView: UIScrollView!     
    @IBOutlet weak var primerTextView: UITextView!        
    @IBOutlet weak var segundoTextView: UITextView!        
    @IBOutlet weak var tercerTextView: UITextView!        
    @IBOutlet weak var cuartoTextView: UITextView!

    override func viewDidLoad() {
        super.viewDidLoad()

        //ScrollViewSize
        scrollView.contentSize.height = 1400

        //Hide keyboard with touching anywhere
        var tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "DismissKeyboard")
        view.addGestureRecognizer(tap)


        //Button
        let stringKey = NSUserDefaults.standardUserDefaults()

        segundoTextView.text = stringKey.stringForKey("savedStringKey")

    }

    func textFieldShouldReturn(textField: UITextField) -> Bool {
        textField.resignFirstResponder()

        return true
    }


    //Hide keyboard with return button
    func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
        if text == "\n"
        {
            primerTextView.resignFirstResponder()
            segundoTextView.resignFirstResponder()
            tercerTextView.resignFirstResponder()
            cuartoTextView.resignFirstResponder()

            return false
        }
        return true
    }

    @IBAction func botonGuardar(sender: AnyObject) {

        let myText = segundoTextView.text


        NSUserDefaults.standardUserDefaults().setObject(myText, forKey: "savedStringKey")
        NSUserDefaults.standardUserDefaults().synchronize()

        var alert = UIAlertController(title: "Guardado", message:"Tu texto se ha guardado", preferredStyle: UIAlertControllerStyle.Alert)

        alert.addAction(UIAlertAction(title: "OK", style: .Cancel, handler: nil))

        self.presentViewController(alert, animated: true, completion: nil)




    }








    //Hide keyboard with touching anywhere

    func DismissKeyboard(){


        view.endEditing(true)

    }

}

最佳答案

我假设您正在谈论将所有文本保存到 NSUserDefaults。 简单地执行您已经完成的操作,但每个键使用不同的键。

NSUserDefaults.standardUserDefaults().setObject(myText, forKey: "textView1")
NSUserDefaults.standardUserDefaults().setObject(differentText, forKey: "textView2")
NSUserDefaults.standardUserDefaults().synchronize()

然后您只需使用不同的键来访问不同的已保存对象(在您的例子中是字符串)。

这有意义吗?

洛奇

关于ios - 如何在 Swift 中使用一个按钮保存来自多个 UITextView 的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31339682/

相关文章:

iOS UIWebView 完全看不懂不止一个@font-face?

ios - containerURLForSecurityApplicationGroupIdentifier 获得零值

ios - Storyboard中深色模式下的占位符颜色

ios - 单击 TextView 上打开 UIPickerView 而不是键盘

android - 重用 XML 组件,仅更改一个文本字段

ios - 当行数设置为 0 时 UITextView 内容消失

android - 阻止 TextView 截断整个单词

ios - 升级到 Swift 3 错误 - ld : framework not found GoogleInterchangeUtilities

ios - 使用自定义相机 Swift 3 拍照

ios - 从 UISearchController 过滤的搜索结果中删除