2013-02-22 123 views
1

我想檢查我的iOS應用程序的應用程序的狀態,但是當我檢查爲什麼applicationState被返回爲零?

[UIApplication sharedApplication].applicationState 

我越來越爲零。我檢查了[UIApplication sharedApplication]不是零。我基本上只是檢查屏幕是否爲上,所以我只是檢查下面的結果:

[UIApplication sharedApplication].applicationState == UIApplicationStateActive 

任何想法,爲什麼我得到零退換嗎?

+0

'UIApplicationState'是一個'enum'因此'nil'沒有任何意義。 – trojanfoe 2013-02-22 16:06:52

+1

也許你對'UIApplicationStateActive'(value'0')和'nil'產生混淆? – trojanfoe 2013-02-22 16:09:40

+0

@trojanfoe我正在調試並在行後 'UIApplicationState * applicationState = [UIApplication sharedApplication] .applicationState;' 我查詢 'PO applicationState' 並獲得 '$ 4 = 00000000 ' – ferson2020 2013-02-22 16:10:31

回答

2

確定你的代碼是不正確(我很驚訝,它編譯):

UIApplicationState *applicationState = [UIApplication sharedApplication].applicationState; 

應該是:

UIApplicationState applicationState = [UIApplication sharedApplication].applicationState; 

(它是一個enum不是對象)。

+0

謝謝,我對Objective-C枚舉有點不熟悉。 – ferson2020 2013-02-22 16:14:52

+0

@ ferson2020是唯一的方法來判斷一個對象是被返回還是一個'enum'或'typedef'是尋找指針操作符('*')。 – trojanfoe 2013-02-22 16:19:32

相關問題