2012-09-03 20 views
0

我有一個自定義的uiview子類,它從nsmanagedobject的一個子類的數據源獲取它需要顯示的數據。有什麼辦法可以讓nsmanagedobject的子類擁有一個指向視圖的指針?我想這樣做,以便視圖控制器可以通過詢問數據源視圖佔用多少空間來獲取有關uiview的幀大小的一些信息。從一個數據源對象發送消息到一個視圖目標c

+1

你的視圖控制器應該是中間人。它應該詢問數據源有多少數據,獲取數據等,並相應地分配/格式化/準備UIView。然後顯示UIView。畢竟這就是爲什麼它是視圖控制器的原因! – user523234

+0

這實際上是我正在尋找的。我之前做的是使用sizeWithFont將子視圖框設置爲合適的大小來顯示文本和數字,然後如果我需要這些信息,我只需要保存一個指向視圖的指針,這樣我就可以使用object.view.frame .width訪問寬度。但每次只需返回並重新計算控制器中的這些屬性,而不是持有指向該視圖的指針就很有意義。我將編寫一個將對象作爲參數的方法,並返回一個CGRect,它將顯示非常多的數據。謝謝! – chartman

回答

1

你所描述的設計的主要缺陷是你有一個UIView直接與數據對象。這違背了MVC的基本原理,很可能通過在這兩個元素之間引入控制器來實現您所需要的任何內容。請詳細說明您想要計算的幀大小以獲得更詳細的答案。

相關問題