Ios 如何从数组元素中指定标签值?
我是Swift的新手,我正在创建一个调查应用程序,在该应用程序中,用户数据将始终保存 在下面的代码中,搜索按钮指的是检索功能。我创建了一个检索函数,希望保存的信息显示在标签上。我需要帮助为标签提供数组中元素的值。因此,基本上,一旦单击retrieve按钮,它就会将保存的信息返回到标签Ios 如何从数组元素中指定标签值?,ios,arrays,swift,Ios,Arrays,Swift,我是Swift的新手,我正在创建一个调查应用程序,在该应用程序中,用户数据将始终保存 在下面的代码中,搜索按钮指的是检索功能。我创建了一个检索函数,希望保存的信息显示在标签上。我需要帮助为标签提供数组中元素的值。因此,基本上,一旦单击retrieve按钮,它就会将保存的信息返回到标签 @IBAction func searchButton(_ sender: Any) { retrieveData() } @IBOutlet weak var statusL
@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")
}
}
@IBAction func searchButton(uu发件人:任意){
检索数据()
}
@IBVAR弱var状态标签:UILabel!
//这些是我做的标签。
////////////////////////////////////////////////////////////////////////
func retrieveData(){
//正如我们所知,容器是在AppDelegates中设置的,因此我们需要引用该容器。
让appDelegate=UIApplication.shared.delegate作为?appDelegate else{return}
//我们需要从这个容器中创建一个上下文
让managedContext=appDelegate.persistentContainer.viewContext
//为实体准备NSFetchRequest类型的请求
let fetchRequest=NSFetchRequest(entityName:“数据”)
fetchRequest.fetchLimit=1
fetchRequest.predicate=NSPredicate(格式:“id=%@”,idText.text!)
fetchRequest.sortDescriptors=[NSSortDescriptor.init(键:“id”,升序:false)]
//
做{
let result=尝试managedContext.fetch(fetchRequest)
对于结果中的数据![NSManagedObject]{
//打印(数据值(forKey:“id”)!)
idText.text=data.value(forKey:“id”)作为?字符串
}
statusLabel.text=“找到数据”
showidLabel.text=//我想将保存的值分配给此标签
}抓住{
打印(“失败”)
}
}
您应该能够将标签的文本设置为要显示的文本。无论哪种方式,您都需要在UIViewcontroller中定义并访问标签。我想那可能是你错过的地方。您只有带插座的statusLabel
因此,您可以创建一个函数来更新标签的值,并传递所需的值
或者,如果仅在执行其他操作时更新标签文本,请将该值传递给标签文本
MyLabel.text = value
如果您的值位于数组中,并且您知道id,您将说:
MyLabel.text = array[id]
您希望在
UILabel
文本中显示数组的哪个元素?