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

原文 标签 ios swift textview

We have the following stuff

我们有 4 个 socket (UITextView),最后还有一个保存按钮。

我希望能够用一个简单的按钮保存我们在每个 TextViews 中编写的任何内容。怎么做?我已经完成了这项工作,但保存了一个 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 - 打开 sans 常规字体在 iOS 7 中无法按预期工作

ios - Swift Alamofire将图像数组与其他参数一起发送

ios - 使用当前位置值对对象数组进行排序

java - Android 可滚动的 TextView 边框

android - TextView setText 不刷新文本

android - 自定义 View 中的渐变文本颜色

ios - 如何在 XCTest 框架的 UI 测试中测试数据?

ios - swift 我如何检查我是否遍历List [String]的最后一项

ios - 如何在 UITextView 中禁用垂直滚动?

ios - 如何连接在 UITableVC 中制作的按钮以在 Story Board 中显示单独的 View