如何给标签数组元素的值?

时间:2019-02-14 19:09:11

标签: ios arrays swift

我是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")
        }
    }

1 个答案:

答案 0 :(得分:0)

您应该能够将标签的文本设置为要显示的文本。无论哪种方式,您都需要在UIViewcontroller中定义并访问标签。我认为这可能是您错过的地方。您只有带出口的statusLabel。

因此,您可以创建一个函数来更新标签的值并传递您想要的值。

或者,如果在执行其他操作时仅更新标签文本,则将该值传递给标签文本。

MyLabel.text = value

如果您的值在数组中并且知道ID,您将说:

MyLabel.text = array[id]