This is the structure of my project
UIViewController holding:
UIPageViewController holding:
UIViewController1 - holds UILabel
UIViewController2 - holds UILabel
UIViewController3 - holds UILabel
If I want to update UILabel.text inside UIViewController1,
How can I access that UILabel?
or what if I want to change UILable inside UIViewController2?
Design wise you should not access any UI elements of the view controller from outside it's not safe (because that UI element might not always available e.g in low memory or when the view property is not yet attached to any view hierarchy). A better way would be to set the value of a variable (or model variable) whose value will be accessed by the owning view controller when it's loaded (either from view did load or view will appear) to update the value of the UI element. Along with that, you can have a setter implementation of the variable/model which will update the UI element.