2014-02-27 18 views
2

Objective-C類的類別數量是否有限制?我正在製作一大堆課,讓我的課不那麼冗長,只是想知道它們的數量是否有限制。謝謝。Objective-C類的類別數量是否有限制?

+3

據我所知,沒有。但是,如果你做得太多以至於擔心達到理論極限,那麼你可能做的太多了。 – Gavin

+0

我懷疑表現會在你達到任何硬​​性限制之前停滯。 –

+0

@Gavin好的一點,是否有一個好的方法去規劃需要多少人?我在這個類中有9個方法,並且我將它們分開的原因是因爲我需要爲iframe UI_USER_INTERFACE_IDIOM()..聲明ipad兼容性,這些都是6/9,所以我正在考慮爲每個方法創建一個類別?你怎麼看。 –

回答

0

沒有限制。它們是保持長代碼清潔的有效方式。確保正確命名它們以避免重複。

1

不,沒有這樣的限制。只要嘗試爲您的類別添加前綴以避免重複。

+0

謝謝,這有幫助。 :) –

1

正如已經回答的那樣,不,沒有這樣的限制,至少不是任何人都知道的。可能有一些理論上的限制,但是你不太可能會遇到它。

我覺得我應該發佈一個答案,以更好地回答你在評論中提出的問題。你想知道如何更好地去爲你的方法對iPhone和iPad不同的實現,有一些不同的選擇:

  • 你可以簡單地擁有,如果在每個執行相應的代碼方法聲明取決於它是iPhone還是iPad。

  • 你可以用單獨的方法後綴「_iphone」或「_ipad」,然後從主要方法,你可以基於if語句調用適當的方法。

  • 您可以在單獨的方法後加「_iphone」或「_ipad」,然後使用方法swizzling在應用程序啓動時用相應的方法替換主要方法的實現。這可以減少每次調用方法時if語句的開銷。

如果性能很關鍵,如果您多次調用它,最後一個選項將具有最佳性能。然而,最後一個選項還需要挖掘Objective-C運行時。第一個和第二個選項都涉及每次調用某個方法時檢查它是哪個設備。但是,如果表現不是非常重要,那麼第一個選項最容易設置。另外第一個選項允許你在兩者之間有一些共同的代碼而不用單獨的方法重複它,所以如果是這種情況,它可能是理想的。也有很多次能夠在一個地方查找處理特定操作的所有邏輯,並且如果其他人需要維護您的代碼,它會使事情變得最簡單。

+0

方式去超越。非常感謝@Gavin的所有幫助 –

相關問題