मैं एक NSNetService एक आईपी के लिए इस कोड के साथ एक पृष्ठभूमि ऐप्लिकेशन में ("My_Mac" नाम) को हल करने की कोशिश कर रहा हूँ नहीं बुलाया जा रहा है:NSNetService प्रतिनिधियों
NSNetService *service = [[NSNetService alloc] initWithDomain:@"local." type:@"_daap._tcp" name:@"My_Mac"];
[service setDelegate:self];
[service resolveWithTimeout:5];
और एक ही कक्षा में, मैं इन राशि प्रतिनिधि तरीकों परिभाषित:
- (void)netServiceDidResolveAddress:(NSNetService *)sender
- (void)netService:(NSNetService *)sender didNotResolve:(NSDictionary *)errorDict
यहाँ अजीब हिस्सा है: जब तक कि मैं के बाद एक NSAlert चलाने न प्रतिनिधि पद्धतियों को बुलाया हो "[सेवा resolveWithTimeout: 5],"। कोई विचार?
उत्तर एसएलएफ के लिए धन्यवाद। मैंने आपके पास NSRunLoop कोड की कोशिश की, लेकिन कोई पासा नहीं। मेरे पास अभी भी विधियां हैं क्योंकि मैं 10.5 को लक्षित कर रहा हूं जिसमें औपचारिक NSServiceDelegate प्रोटोकॉल परिभाषित नहीं है। –
एसएलएफ: आप सही हैं - मैंने यह सुनिश्चित करने के लिए जीसी बंद कर दिया कि ऑब्जेक्ट अभी भी वहां था, और प्रतिनिधियों को बुलाया गया था। अब मुझे यह पता लगाना होगा कि यह कहां से ऑटोरेलेज्ड किया जा रहा है, क्योंकि मैंने स्पष्ट रूप से इसे बनाए रखने की कोशिश की है, और यह काम नहीं करता है। मुझे सही दिशा बताने के लिए धन्यवाद! –
प्रतीत होता है जटिल जटिल समस्याओं का समाधान आमतौर पर आपके विचार से आसान होता है :) – slf