2012-01-27 4 views
0

Выполнение следующих в мое приложение не будет вызывать делегат:NSNetService делегат и ARC

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

Я использую Automatic Reference Counting. Выполнение этого же без ARC работает отлично. Шнуры NSNetService будут выпущены до того, как будет вызван делегат.

Как я могу предотвратить это?

Большое спасибо!

+1

Где вы собираетесь выполнить этот звонок? Где вы выпускаете bonjourMonitor, когда вы не используете ARC? – Intentss

+0

@Ben: Я выполняю это в методе делегата пользовательского класса. – Daniel

ответ

1

Определить bonjourMonitor как ivar или статический.

+0

Это конечно работает. Благодаря! – Daniel

Смежные вопросы