2012-01-27 58 views
0

表演在我的應用程序以下不會打電話委託:NSNetService代表和ARC

NSNetService * bonjourMonitor; 
    bonjourMonitor = [[NSNetService alloc] initWithDomain:@"local." type:@"_device-info._tcp" name:@"My Mac"]; 
    [bonjourMonitor setDelegate:self]; 
    [bonjourMonitor startMonitoring]; 

我使用自動引用計數。如果沒有ARC,做同樣的工作是完美的。 NSNetService接口將在代理被調用之前釋放。

我該如何防止這種情況發生?

非常感謝!

+1

你在哪裏預先執行此調用?當你不使用ARC時,你在哪裏釋放bonjourMonitor? – Intentss 2012-01-27 22:48:32

+0

@Ben:我在自定義類的委託方法中執行此操作。 – Daniel 2012-01-28 12:11:24

回答

1

將bonjourMonitor定義爲ivar或靜態。

+0

這當然有用。謝謝! – Daniel 2012-01-28 12:15:37