我有一個類將委託消息發送到另一個類。 如果其他班級未在收聽,則應用程序崩潰。 我正在尋找一種方法來檢查在發送消息之前是否有其他課程正在偵聽。檢查是否有代表傾聽?
所以在發佈委託類的,我有這個條件的檢查:
if ([self.delegate respondsToSelector:@selector(NewDataFromSocketWithString:WithCommand:)])
[self.delegate NewDataFromSocketWithString:final WithCommand:c];
如果不知何故,該條件始終爲真,即使得到委託類是已經發布,而不是存在了。
如何在發佈前檢查委託以消除崩潰?
您的問題似乎是您正在使用虛假委託指針,而不是委託沒有「響應」。您需要確保委託對象被保留,或者確保指針在對象被銷燬時將被設置爲nill。 – 2013-05-03 15:46:16