我開始了一個新的項目,我想知道是否有人已經嘗試哪種更有效率,在.h文件中聲明一個對象(例如UIButton)或創建對象在viewDidLoad方法中,並使用viewWithTag:方法在元素創建後訪問該元素。使用viewWithTag的全局聲明:並聲明在viewDidLoad:
當然,在.h文件中聲明它會是最簡單的,但是由於我的應用程序將是沉重的媒體(很多圖像),我想知道使用標籤會更好。我的意思是,應用程序會使用更少的內存,運行更流暢或類似的東西。
感謝您的輸入。
我開始了一個新的項目,我想知道是否有人已經嘗試哪種更有效率,在.h文件中聲明一個對象(例如UIButton)或創建對象在viewDidLoad方法中,並使用viewWithTag:方法在元素創建後訪問該元素。使用viewWithTag的全局聲明:並聲明在viewDidLoad:
當然,在.h文件中聲明它會是最簡單的,但是由於我的應用程序將是沉重的媒體(很多圖像),我想知道使用標籤會更好。我的意思是,應用程序會使用更少的內存,運行更流暢或類似的東西。
感謝您的輸入。
現在我回過頭來看這個問題,這似乎是一個愚蠢的問題。這兩個應該是相同的內存使用,因爲他們都會分配相同數量的內存。這就是說,存儲在.h文件中的對象的引用應該更好。它應該更好,因爲viewWithTag函數會做一些處理來獲得指向對象的指針,而另一種方式它已經在你的類中。
我會使用IBOutlet來訪問您在XIB中聲明的UIViews。我會推薦的是:
1)如果有很多事情正在進行,但你知道它們有多少(UILabels,UIButtons,UIViews,UIScrollViews等),我會在XIB和IBOulets中創建它們我可以在代碼中控制它們。它讓你的生活更輕鬆(從內存管理的角度來看)。 2)如果你不確定你需要多少視圖,我會動態創建它們。因爲它給你自由添加你想要的數量。
我的規則是:如果我知道我有多少視圖,可能會在XIB中創建它們,如果不是動態的話。
我不使用Interface Builder。我寧願用代碼來完成這一切,它給了我更多的靈活性。我也很熟悉對象的alloc/retain/release的標準內存管理。我的問題更多的是一個理論問題。 – Pete42
我真的不能有太多的幫助。我會給你一個問題的+1,因爲現在我很好奇。 :) – Peres