Objective c 如何刷新视图控制器

Objective c 如何刷新视图控制器,objective-c,view,setneedsdisplay,Objective C,View,Setneedsdisplay,我有一个类,当视图显示完成时,我会在几秒钟后从服务器上获取一些数据,根据这些数据我会更改视图上的一些按钮,有没有办法在objective-c中完全刷新视图?只需在UI上重新加载应该重新加载的元素。很可能你正在做这样的事情: override func viewDidLoad() { super.viewDidLoad() updateUI() } func updateUI() { label1.text = "aa" label2.text = "bb" }

我有一个类,当视图显示完成时,我会在几秒钟后从服务器上获取一些数据,根据这些数据我会更改视图上的一些按钮,有没有办法在objective-c中完全刷新视图?

只需在UI上重新加载应该重新加载的元素。很可能你正在做这样的事情:

override func viewDidLoad() {
    super.viewDidLoad()
    updateUI()
}

func updateUI() {
    label1.text = "aa"
    label2.text = "bb"
}

因此,从API获取数据后,只需再次调用updateUI()函数

Hi@MichałKwiecień,我的函数已在viewDidLoad中调用问题在于,当我第一次打开应用程序时,它会打开视图,然后调用viewDidLoad,几秒钟后,当我从服务器接收数据时,它不会调用viewDidLoad,因为它需要刷新,或者我需要转到另一个视图,然后再预览视图,以便读取viewDidLoad函数-(void)VIEWWILLEASEN:(BOOL)已设置动画{[super VIEWWILLEASEN:animated];//[self showAlert];如果(支持三种方式调用){keypadEditorView.threewaysbutton.hidden=NO;}否则{keypadEditorView.threewaysbutton.hidden=YES;}当我第一次打开我的应用程序时没有从服务器收到bool值时,此代码调用,支持三种方式调用它是来自服务器的bool值,因此,当我第一次打开它时,它显示为false,然后从服务器显示为true,但我必须刷新视图以显示从视图调用更新UI的方法将显示的按钮?我在从服务器接收值时创建了通知调用我的类视图将显示,我还尝试了setNeedsDisplay,但它不起作用,实际上代码可以工作,但是没有显示按钮,因为它需要刷新