2013-02-04 76 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 
} 
相關問題