我试图在didFindService函数中获取TXTrecords,但我发现该值为null.
你有什么想法解决我的问题吗?
- (void)netServiceBrowser:(NSNetServiceBrowser*)netServiceBrowser didFindService:(NSNetService*)service moreComing:(BOOL)moreComing { [self.services addObject:service]; NSDictionary* dict = [[NSNetService dictionaryFromTXTRecordData:[service TXTRecordData]] retain]; MyTreeNode *node = [[MyTreeNode alloc] initWithValue:[service name]]; NSString* info = [self copyStringFromTXTDict:dict which:@"info"]; if([info isEqualToString:@"child"]) { // info == null and dict == null?? [treeNode addChild:node]; } [info release]; if (!moreComing) { [self sortAndUpdateUI]; } }
解决方法
您需要先解决服务.在回调中,您所知道的是服务存在,但您没有其记录(既不是A也不是TXT).
您可以使用-resolveWithTimeout:来解决它.如果需要在修改TXT记录时收到通知,也可以使用-startMonitoring.