2010-05-26 46 views
0

裝在我的NSPreferencePane的「mainViewDidLoad」,我提示用戶接受許可和用戶,拒絕,我想關閉該窗口。我希望[NSApplication terminate]能起作用;它確實!邏輯從代碼中的那一點返回,我們回到系統偏好窗格窗口。只要用戶再次在同一個窗口中單擊我的pref圖標,應用程序就會再次加載(這次跳過「mainViewDidLoad」)並顯示一個裸機UI(它永遠不會以編程方式啓動)。編程關閉一個NSPreferencePane或檢測時,它再次

所以,我覺得我可以做以下的事情:

1)找到一個方法來關閉預置面板窗口本身。

席力圖召[NSWindow關閉],但我得到一個錯誤,當窗口關閉(此窗口意外關閉...),並在每過一段時間,窗口不會關閉。錯誤是有道理的,因爲它沒有合適的信號就關閉了。我很想知道是否有更清潔的退出路徑。

2)找到一個方法來實現我的PREF窗格已再次加載,並顯示該許可證。

使用委託或通知似乎來實現它的好方法,但我是在MAC/Cocoa編程一個完整的小白,我沒有線索,如果/如何工作的。我經歷的幾篇文檔對於我目前的理解水平來說有點困難。

將不勝感激任何指針/示例代碼/建議,可能會推動我在正確的方向。

謝謝!

回答

2

你可以嘗試實施the willSelect method,而不是mainViewDidLoad

+0

的willSelect方法讓我顯示許可在每個選擇的用戶(如果需要)。感謝您花時間回答這個問題! – Abhishek 2010-05-28 11:56:55

0

編程關閉一個NSPreferencePane將意味着關閉系統預置應用程式:

[[NSApplication sharedApplication] terminate:self];

相關問題