2013-02-04 79 views
0
@interface Server : NSObject { 
    id<ServerDelegate> _delegate; 
    NSInputStream *_inputStream; 
    NSOutputStream *_outputStream; 
} 

@property(nonatomic, assign) id<ServerDelegate> delegate; 

无论何时设置输入或输出流的委托,我都会收到警告,指出它将从不兼容的类型Server *分配给ID。不兼容的委托类型警告

self.inputStream.delegate = self就是这样的一个例子。

实际的服务器运行良好,这只是关注我的警告。

回答

1

如果你想分配selfServer obejct)为NSInputStream委托,您Server对象必须符合NSStreamDelegate协议。

由于NSInputStreamNSStream

https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSStream_Class/Reference/Reference.html#//apple_ref/occ/cl/NSStream

@interface Server : NSObject<NSStreamDelegate> 
[...] 
@end 
+0

一个子类,我的'_inputSteam'是我只是没有将其包含在代码中的财产我提供 – vqdave

+0

OK,编辑..... ... – Daniel

0

你需要让Server类符合NSStreamDelegate:

@interface Server : NSObject <NSStreamDelegate> { 
    ... var declarations 
} 
相关问题