2010-07-04 77 views
1

有人可以發佈關於如何在.h和.m文件中使用controlTextDidChange和文本標籤的最簡單示例嗎?我的代碼的另一部分不斷地每秒多次更改此文本標籤的值。我只需要腳本的另一部分就可以知道該值是否已更改並執行一個操作。所有這些有這個主題的網站都不包括如何充分使用它。所以我想我會在這裏問它! :DcontrolTextDidChange的目標C實現:在.h和.m文件中

謝謝! Elijah

回答

5

這聽起來像是你採取了一個相當不恰當的方法來解決你的問題。具體而言,您正在使用控件來存儲數據,而不是將其單獨存儲在模型中,並與應用程序的其餘部分與該模型進行交互。

我認爲你需要退後一步,然後執行以下操作:

  1. 瞭解面向對象的編程和Model-View-Controller模式的原則,特別是因爲它們適用於可可。最好的介紹之一是書籍Object-Oriented Programming with Objective-C,在線免費從Apple。

  2. 計劃一下應用程序背後的結構 - 它如何處理數據,而不僅僅是用戶界面的外觀。您的應用程序的用戶界面及其使用的數據是相關的但不相同。

這可能會幫助你得到「大畫面」爲您的應用程序的權利,也更容易如何整理碎片,如「做X,當該值發生變化」和「把該值告訴你在文本領域「,而不是試圖只學習你認爲需要的部分,因爲你認爲你需要它們。

一兩件事:你的應用是一個應用,不是腳本,你在你的問題提到了它。記住這一點非常重要:應用程序可以有很多移動部分。諸如單獨的類,單獨的.h和.m文件等工具是管理這些部分並使它們保持獨立的方法。

這也不僅僅是一個「命令」序列,它們可以像腳本一樣依次執行。相反,應用程序各部分之間的交互是由Cocoa框架根據其應用程序生命週期來管理的。 Application Architecture OverviewCocoa Fundamentals Guide非常適合閱讀,以便在構建應用程序時瞭解Cocoa如何與自己的代碼配合使用。

+0

好的,非常感謝!你能舉一個例子來說明我的情況嗎?這是我需要的一個快速項目。我將不得不在讀完之後以及所有這些完成。我知道,可能不是這樣做的最好方式,但我只需要這樣做一次。 :D 好吧,所以這就是我在做的:我在界面構建器中使用Quartz作曲家視圖(QCView)。這個石英作曲家是音樂可視化模板。然後我使用一個將聲音輸出發送到NSTextField(標籤)的補丁。我需要獲取該標籤數據並將其與其他變量進行比較。任何想法如何做到這一點? – objectiveccoder001 2010-07-04 23:36:19

+0

順便說一句...我在想什麼與controlTextDidChange:當NSTextField(標籤)的值改變值時,它會抓住該數字,並將其存儲在我可以在我的代碼中訪問的變量。 – objectiveccoder001 2010-07-04 23:39:40

+0

我的答案是,我的觀點是,用這種寫軟件的方法你不會有好運氣,不管它是否是「你需要的快速項目」。「提供解決這個問題的錯誤方法的例子不會幫助你學習,並且肯定不會使未來通過搜索引擎進入本頁的其他人嘗試找出正確的方式去做某些事情。 – 2010-07-04 23:47:15