我是Swift的新手,我正在创建一个调查应用程序,其中的用户数据始终保存在其中。
在搜索按钮下面的代码中,指的是检索功能。我创建了一个检索功能,并希望保存的信息显示在标签上。我需要帮助为标签赋予数组中元素的值。因此,基本上,一旦单击检索按钮,它就会将保存的信息返回到标签。
@IBAction func searchButton(_ sender: Any) {
retrieveData()
}
@IBOutlet weak var statusLabel: UILabel!
// These are the labels that I have made.
////////////////////////////////////////////////////////////////////////
func retrieveData() {
//As we know that container is set up in the AppDelegates so we need to refer that container.
guard let appDelegate = UIApplication.shared.delegate as? AppDelegate else { return }
//We need to create a context from this container
let managedContext = appDelegate.persistentContainer.viewContext
//Prepare the request of type NSFetchRequest for the entity
let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Data")
fetchRequest.fetchLimit = 1
fetchRequest.predicate = NSPredicate(format: "id = %@", idText.text!)
fetchRequest.sortDescriptors = [NSSortDescriptor.init(key: "id", ascending: false)]
//
do {
let result = try managedContext.fetch(fetchRequest)
for data in result as! [NSManagedObject] {
//print(data.value(forKey: "id")!)
idText.text = data.value(forKey:"id") as? String
}
statusLabel.text = "Data found"
showidLabel.text = // I WANT TO ASSIGN THE SAVED VALUE TO THIS LABEL
} catch {
print("Failed")
}
}
答案 0 :(得分:0)
您应该能够将标签的文本设置为要显示的文本。无论哪种方式,您都需要在UIViewcontroller中定义并访问标签。我认为这可能是您错过的地方。您只有带出口的statusLabel。
因此,您可以创建一个函数来更新标签的值并传递您想要的值。
或者,如果在执行其他操作时仅更新标签文本,则将该值传递给标签文本。
MyLabel.text = value
如果您的值在数组中并且知道ID,您将说:
MyLabel.text = array[id]