ce code est d'un échantillon en partie .h:SDK iPhone: [error] Vous ne trouvez pas la déclaration de protocole pour "NSNetServiceDelegate"
@interface ViewController : UITableViewController <NSNetServiceBrowserDelegate> {
NSMutableArray * tableData;
NSNetServiceBrowser * _browser;
NSMutableArray * _foundServices;
NSURLConnection * _connection;
NSInputStream * _consumerStream;
NSString * controllerHostName;
}
@property (nonatomic, retain) NSMutableArray * tableData;
@property (nonatomic, retain) NSNetServiceBrowser * _browser;
@property (nonatomic, retain) NSMutableArray * _foundServices;
@property (nonatomic, retain) NSURLConnection * connection;
@property (nonatomic, retain) NSInputStream * consumerStream;
@property (nonatomic, retain) NSString * controllerHostName;
dans la partie .m
#import "ViewController.h"
#include <sys/socket.h>
#include <netinet/in.h>
#include <unistd.h>
#include <CFNetwork/CFNetwork.h>
@synthesize tableData;
@synthesize _browser;
@synthesize _foundServices;
@synthesize consumerStream = _consumerStream;
@synthesize connection = _connection;
@synthesize controllerHostName;
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
_browser = [[NSNetServiceBrowser alloc] init];
[_browser setDelegate:self];
[_browser searchForServicesOfType:@"_service._tcp" inDomain:@""];
[super viewWillAppear:animated];
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[_browser stop];
_browser.delegate = nil;
[_browser release];
_browser = nil;
[_foundServices removeAllObjects];
}
- (void)netServiceBrowser:(NSNetServiceBrowser *)netServiceBrowser didFindService:(NSNetService *)netService moreComing:(BOOL)moreServicesComing
{
self.controllerHostName = [NSString stringWithFormat:@"%@.%@", netService.name, netService.domain];
NSLog(@"ControllerHost String is: %@", self.controllerHostName);
NSLog(@"URL to use is === %@.%@", netService.name, netService.domain);
if (!_foundServices) {
_foundServices = [[NSMutableArray alloc] init];
}
[_foundServices addObject:netService];
[self.tableView reloadData];
}
- (void)netServiceBrowser:(NSNetServiceBrowser *)netServiceBrowser didRemoveService:(NSNetService *)netService moreComing:(BOOL)moreServicesComing
{
[_foundServices removeObject:netService];
}
- (void)netServiceBrowserDidStopSearch:(NSNetServiceBrowser *)aNetServiceBrowser
{
[_foundServices removeAllObjects];
}
déclaration I tout l'en-tête comme l'échantillon fait Mais j'ai reçu le message d'erreur "Impossible de trouver la déclaration de protocole pour" NSNetServiceDelegate " dans .h
interface ViewController : UITableViewController <NSNetServiceBrowserDelegate>
Ai-je manqué quelque chose à déclarer? L'échantillon n'a aucun avertissement ou erreur
C'est bizarre ... les références de pommes libary dit: Déclaré En NSNetServices.h, mais je ne peux pas inclure ou l'importer ... –