CoreData并在Swift3中添加文本字段

时间:2017-07-07 11:00:48

标签: swift core-data swift3

我遇到了问题。有了这里的所有帮助,我无法自己解决,所以我想再次提供一些帮助。

所以我只是直接询问,但我正在尝试以编程方式创建属性,因为在我的应用程序中我以编程方式创建文本字段,用户可以根据需要制作它们。所以我想存储这些新制作的文本字段文本,并以不同的视角显示它们。我如何使用CoreData执行此操作?我想我创建了一个新属性并将它们存储在那里并使用这些属性来计算并在第二个视图中创建文本字段,但我不知道如何做到这一点。

2 个答案:

答案 0 :(得分:0)

我认为您可以为textfield创建一个实体,并在创建新文本字段时创建并存储此实体的实例。您可以轻松处理这些实体数组来处理文本字段。

答案 1 :(得分:0)

import UIKit
import CoreData

class ViewController: UIViewController , UITextFieldDelegate
{

    var txtName:UITextField!
    var btnfirst :UIButton!
    let appDelegate = UIApplication.shared.delegate as! AppDelegate
    var managedContext:NSManagedObjectContext!
    var entity:NSEntityDescription!
    var stname:String!



    override func viewDidLoad()
    {
        super.viewDidLoad()

        txtName = UITextField()
        txtName.frame = CGRect(x: 10, y: 30, width: 300, height: 30)
        txtName.borderStyle = UITextBorderStyle.roundedRect
        txtName.backgroundColor = .yellow
        txtName.placeholder = "Enter Your Name"
        txtName.autocorrectionType = .no
        txtName.clearButtonMode = .always
        self.view.addSubview(txtName)



    btnfirst = UIButton(type: .system)
        btnfirst.setTitle("Press", for: .normal)
        btnfirst.setTitleColor(.red, for: .normal)
        btnfirst.frame = CGRect(x: 100, y: 200, width: 100, height: 30)
        btnfirst.addTarget(self, action: #selector(benpress( sender:)),for: .touchUpInside)
        btnfirst.backgroundColor = .green
    self.view.addSubview(btnfirst)
}
 func benpress( sender :UIButton) 
{
        stname = txtName.text

self.managedContext = self.appDelegate.persistentContainer.viewContext
     entity = NSEntityDescription.entity(forEntityName: "Student", in: managedContext)
                        let storeStudent = NSManagedObject.init(entity: entity, insertInto: managedContext)
                        storeStudent.setValue(stname, forKey: "name")


                        do {
                            try managedContext.save()

                        } catch let error as Error! {
                            print(error.localizedDescription)
                        }

}
}