Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何从数组元素中指定标签值?_Ios_Arrays_Swift - Fatal编程技术网

Ios 如何从数组元素中指定标签值?

Ios 如何从数组元素中指定标签值?,ios,arrays,swift,Ios,Arrays,Swift,我是Swift的新手,我正在创建一个调查应用程序,在该应用程序中,用户数据将始终保存 在下面的代码中,搜索按钮指的是检索功能。我创建了一个检索函数,希望保存的信息显示在标签上。我需要帮助为标签提供数组中元素的值。因此,基本上,一旦单击retrieve按钮,它就会将保存的信息返回到标签 @IBAction func searchButton(_ sender: Any) { retrieveData() } @IBOutlet weak var statusL

我是Swift的新手,我正在创建一个调查应用程序,在该应用程序中,用户数据将始终保存

在下面的代码中,搜索按钮指的是检索功能。我创建了一个检索函数,希望保存的信息显示在标签上。我需要帮助为标签提供数组中元素的值。因此,基本上,一旦单击retrieve按钮,它就会将保存的信息返回到标签

  @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
文本中显示数组的哪个元素?