使用uitextfield删除按计数获取核心数据二进制数据

我的快捷代码将3个名称保存到核心数据实体“用户名”。我想使用uitextfield委托来提取特定的字符串。因此,当用户在文本字段中输入2时。在标签labelName上应出现名称jessica Biel。因此,用户在文本字段中输入数字,字符串将出现在标签上。如果为1,则将第一个NSManagedObject输入到核心数据实体username中。链接到项目https://github.com/redrock34/jessicaBiel

import UIKit
import CoreData

class ViewController: UIViewController,uitextfielddele {
@IBOutlet var labelName : UILabel!
@IBOutlet var enterT : UITextField!


// MARK: Variables declearations
let appDelegate = UIApplication.shared.delegate as! AppDelegate //Singlton instance
var context:NSmanagedobjectcontext!

// MARK: View Controller life cycle methods
override func viewDidLoad() {
    super.viewDidLoad()

    openDatabse()
}

// MARK: Methods to Open,Store and Fetch data
func openDatabse()
{
    context = appDelegate.persistentContainer.viewContext
    let entity = NSEntityDescription.entity(forEntityName: "Users",in: context)
    let newUser = NSManagedObject(entity: entity!,insertInto: context)
    let newUser2 = NSManagedObject(entity: entity!,insertInto: context)
    let newUser3 = NSManagedObject(entity: entity!,insertInto: context)
    saveData(UserDBObj: newUser,UserDBObj2: newUser2,UserDBObj3: newUser3)

}

func saveData(UserDBObj:NSManagedObject,UserDBObj2:NSManagedObject,UserDBObj3:NSManagedObject)
{
    UserDBObj.setvalue("kim kardashian",forKey: "username")
    UserDBObj2.setvalue("jessica biel",forKey: "username")
    UserDBObj3.setvalue("Hailey Rienhart",forKey: "username")




    print("Storing Data..")
    do {
        try context.save()
    } catch {
        print("Storing data Failed")
    }

    fetchData()
}

func fetchData()
{
    print("Fetching Data..")
    let request = NSFetchRequest<NSFetchRequestResult>(entityName: "Users")
    request.returnsObjectsAsFaults = false
    do {
        let result = try context.fetch(request)
        for data in result as! [NSManagedObject] {
            let username = data.value(forKey: "username") as! String

            print("User Name is : "+username)
        }
    } catch {
        print("Fetching data Failed")
    }
}

}

daocao1020 回答:使用uitextfield删除按计数获取核心数据二进制数据

首先请注意,在每次启动该应用程序时,都会一次又一次插入三个记录,因此您会得到很多重复的记录。

由于名称显然与任何顺序都不相关,因此请添加唯一标识符,例如整数属性index –或任何合理的名称–然后使用谓词{{ 1}}。

您必须这样做,因为Core Data会将对象无序保存。

本文链接:https://www.f2er.com/2784622.html

大家都在问