我目前在IB編輯器中有兩個單獨的視圖控制器。基本上我想設置一個變量的值(在我的情況下,它是一個浮點型,代表我將設置爲定時器),它基於在第一個視圖控制器中按下的按鈕,然後將該變量傳遞給第二個視圖控制器。我想到的問題是,因爲變量集是基於在第一個視圖中按下的UISegmentedControl,所以不像我可以在第二個類中創建第一個類的實例,因爲這不會保存哪個按鈕被按下。對? 因此,接下來我嘗試將第一個類中的變量設置爲靜態變量,然後將第二個類作爲第一個類的子類並以此方式訪問變量。不幸的是,我在第一個類中設置了變量,但是當我從第二個(子類)類訪問它時,它默認返回值爲0.這是不正確的。看起來好像數據封裝導致了這種情況?在一個視圖控制器中設置一個變量,並在另一個視圖控制器中基於按鈕進行訪問
簡而言之,我只是希望能夠在我的viewController中基於按下的按鈕設置一個變量,然後使用該變量並在我的第二個viewController類中訪問它。
我也想知道爲什麼從子類訪問變量不起作用的簡短解釋。任何不清楚的部分我都會盡力清理。先謝謝你!
請在您提出問題之前進行一些搜索 - 在此論壇上每天至少詢問一次此問題的版本。嘗試搜索「在一個視圖控制器中設置變量並在另一個視圖控制器中訪問它」,您會得到很多結果。 – rdelmar
是的,謝謝,我已經研究過它並嘗試過了,它不是那樣工作的。我的問題是爲什麼它不像其他問題中所述的那樣工作,以及是否有更好的方法來做到這一點,而不是我目前正在嘗試的方法。 – kyleC
您的問題是您需要獲取對其他控制器的引用,而不是像您所指出的那樣創建一個新實例。你如何得到這個參考取決於兩個控制器是如何相關的。一個人創造另一個(然後推動或呈現在代碼中),還是繼續向另一個?關於從子類訪問變量的問題,您有一個基本的誤解 - 孩子將擁有相同的變量,但它將是一個不同的實例,所以它會有自己的值,對於整數或零對象,直到你設置它。 – rdelmar