Ich versuche, eine NSNetService (genannt „My_Mac“) zu einer IP in einem Hintergrund-App mit diesem Code zu beheben:NSNetService Delegierten nicht genannt zu werden
NSNetService *service = [[NSNetService alloc] initWithDomain:@"local." type:@"_daap._tcp" name:@"My_Mac"];
[service setDelegate:self];
[service resolveWithTimeout:5];
Und in der gleichen Klasse, ich habe diese Delegierten Methoden definiert:
- (void)netServiceDidResolveAddress:(NSNetService *)sender
- (void)netService:(NSNetService *)sender didNotResolve:(NSDictionary *)errorDict
Hier ist der seltsame Teil: weder Delegatmethoden aufgerufen, wenn ich einen NSAlert nach laufen „[Dienst resolveWithTimeout: 5];“. Irgendwelche Ideen?
Danke für die Antwort slf. Ich habe den NSRunLoop-Code ausprobiert, den Sie hatten, aber keine Würfel. Ich habe nur die Methoden, da ich 10.5 anvisiere, die das formelle NSServiceDelegate-Protokoll nicht definiert haben. –
slf: Sie haben Recht - Ich habe GC ausgeschaltet, um sicherzustellen, dass das Objekt noch da war und die Delegierten angerufen wurden. Jetzt muss ich nur noch herausfinden, wo es wieder freigegeben wird, da ich explizit versucht habe, es zu behalten, und das hat nicht funktioniert. Danke, dass Sie mich in die richtige Richtung weisen! –
die Lösung für scheinbar komplexe Probleme ist in der Regel einfacher als Sie zuerst denken :) – slf