我正在嘗試編寫一個應該顯示一些數據的應用程序。有問題的數據來自我們的代碼中的不同模塊(用C編寫,而不是ObjC),並且由於各種原因由字符串標識,而不是整數或其他形式的常量。膠水代碼後,我有一個像這樣在我的AppDelegate傳入方法:按字符串在NIB內搜索NSView
-(void)newstringdata:(NSString*)data withLabel:(NSString*)label;
此方法應始終以data
值,並將其設置爲文本在UI中的特定標籤。問題是,哪個標籤。
我當然可以創建一個NSDictionary
並在運行時用方法中的label
參數的可能值填充它,並參考插座,但這看起來有點醜陋和低效;它需要我維護網點,筆尖和NSDictionary
- 初始化代碼。
相反,如果可能的話,我想在某處設置界面設計器中的屬性,然後根據傳遞的標籤在我的newstringdata:withLabel:
方法中進行查找,該標籤返回NSLabel
。
這可能嗎?如果是這樣,我該怎麼做?
如何是你的設計在某種程度上依賴於通過識別標籤字符串的看法,當你還沒有想出如何標籤串分配到的意見,甚至如果你可以的話?也就是說,您展示的方法的調用者在哪裏首先獲得標籤字符串?它如何確定這些標籤字符串對應於視圖?什麼是一組可能的標籤字符串?等。 –
我從另一個模塊獲取數據,該模塊通過名稱來識別數據,這是一個字符串。這不是我控制的東西;這是我如何獲得數據。 –
沒錯,但是這些數據與你的觀點無關。我建議您將數據存儲在控制器的字典屬性中。然後,通過該屬性將視圖綁定到控制器,如果有的話,視圖有意義的值。也就是說,通過讓視圖/綁定找到數據來顛倒問題,而不是根據數據找到視圖。 –