2013-01-09 39 views
1

爲了接收UIDeviceOrientation更改通知,必須做兩兩件事:UIDeviceOrientation通知

  1. 呼叫beginGeneratingDeviceOrientationNotifications
  2. 寄存器的通知。

我的問題是:

比方說,我有誰想要收到這些通知和要求,首先要beginGeneratingDeviceOrientationNotifications和寄存器,然後第二個不相同的兩個視圖控制器。現在我的第一個VC卸載並取消註冊並呼叫endGeneratingDeviceOrientationNotifications。即使第一個VC「關閉了它們」,第二個VC是否會繼續接收這些通知?

回答

1

是的。對於begin…方法的文檔是這麼說的,至少排序的:

您可以嵌套調用此方法安全,但你應該總是給 endGeneratingDeviceOrientationNotifications方法的調用相應匹配 每個呼叫。

這種接口通常使用一些計數器來實現。每個begin…方法遞增計數器,每個end…方法遞減它。只要計數器大於零,通知就會發送。

+0

我讀過這個文檔,雖然你的「反」解釋聽起來很合理,但我並不滿意於你的建議(反實現)的文檔解釋。我想我可以很容易地測試它... – HackyStack