2012-06-17 28 views
0

我已經定義一個全局變量,它獲得更新經常與加速計數據,所以我想盡快,因爲它是在0.9以上停止加速更新,但它不工作像這樣當全局變量的值改變時觸發一個方法嗎?

if([ACCEL sharedInstance].accelval > 0.90f){ 
[self.motionManager stopAccelerometerUpdates]; 
} 

注:我加速度計數據得到更新,做全球變量的事情沒有錯! 我把這稱爲-(void)viewDidLoad

有沒有其他的方法來實現這個? 提前謝謝!

回答

2

如果使用屬性,而不是一個變量,你可以使用Key-Value Observing觀察更改它

+0

感謝您UR響應。在這篇文章發表之前,我正在閱讀這篇文章,但是由於我對編程有所瞭解,因此我不太瞭解它的實現!所以我放棄了。任何靈活的或者可能的話,還有其他方法嗎? – sam

+0

隱藏全局變量,只有兩個全局函數,然後是'setAccelVal'和'getAccelVal',然後你就知道唯一'accelVal'可以通過'setAccelVal'來改變,你可以在那裏放置你的條件 –

+0

但是,我想實現通過全局變量,所以我也可以學習這個概念,你有任何實際的代碼?所以我可以有一個很好的理解! – sam