![](/img/trans.png)
[英]What is the easiest way to determine an iOS .app bundles size while developing?
[英]What's the easiest way to determine inside a method if it has been called the first time since app start?
我有做一些啟動動畫的方法。 在應用程序使用過程中,該方法被調用了很多次,但是在第一次調用時,它還需要做一些特殊的事情。
Singletons可以走嗎? 也許還有更好的方法,而不是測量此方法被調用的次數並將其存儲在ivar中。
- (void)someMethod {
static BOOL hasBeenCalledBefore = NO;
if (!hasBeenCalledBefore) {
// perform setup
hasBeenCalledBefore = YES;
}
// do other stuff
}
如果使用線程,可能需要額外的工作,但這是基本思想。
為什么構造函數中沒有初始化代碼? 也許您需要將該方法分解到它自己的類中,該類使用構造函數來處理您提到的init塊。
對查克答案的修正(非常正確)
他的工作可以回答您的問題,但是您可以使用的另一種選擇(假設它不需要訪問傳遞給該方法的任何變量)將代碼從您的方法中取出並放入靜態初始化器中。 它僅在首次加載該類時執行,並將隔離本質上完全不同的代碼段。
如果希望每個新類都調用它,請使用Chuck的答案但要帶有成員變量,或者使用類初始化程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.