2011-08-09 4 views
0

iPhoneでネットワーキングを行っています。特定のサーバーに接続してデータを送受信できます。 iPhoneの別のクラスのデリゲートからのアクセス値

例: 以下のコードでは、デフォルトの委任ストリームは特定のサーバーから受信したデータを文字列出力として表示します。どのようにアクセスできますかそれは別のクラスからですか?

- (void)stream:(NSStream *)theStream handleEvent:(NSStreamEvent)streamEvent { 

NSLog(@"stream event %i", streamEvent); 

switch (streamEvent) { 

    case NSStreamEventOpenCompleted: 
     NSLog(@"Stream opened"); 
     break; 
    case NSStreamEventHasBytesAvailable: 

     if (theStream == inputStream) { 

      uint8_t buffer[1024]; 
      int len; 

      while ([inputStream hasBytesAvailable]) { 
       len = [inputStream read:buffer maxLength:sizeof(buffer)]; 
       if (len > 0) { 

        output = [[NSString alloc] initWithBytes:buffer length:len encoding:NSASCIIStringEncoding]; 

        if (nil != output) { 

         NSLog(@"server said: %@", output); 
         [self messageReceived:output]; 
        } 
       } 
      } 
     } 
     break; 


    case NSStreamEventErrorOccurred: 

     NSLog(@"Can not connect to the host!"); 
     break; 

    case NSStreamEventEndEncountered: 

     [theStream close]; 
     [theStream removeFromRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; 
     [theStream release]; 
     theStream = nil; 

     break; 
    default: 
     NSLog(@"Unknown event"); 
} 

}

他のクラスから、私は次のことをやった:

SEL mySelector = @selector(stream:handleEvent:); 
[NSTimer scheduledTimerWithTimeInterval:30.0 target:ISIS selector:mySelector  
userInfo:nil repeats:YES]; 
NSLog(@"Output: %@",ISIS.output); 

しかし、私はISIS.outputにnullを取得。

誰かが私にこれを理解させてくれますか?

答えて

1

他のクラスからhandleEventを呼び出すのではなく、handleEventのデータを他のクラスに渡す必要があります。あなたは他のクラスのデリゲート行い、handleEventに、次のような何かを行うことができます -

[self.delegate actOnEvent:data]; //where data is whatever you want to pass & actOnEvent is the name of your method 
+0

こんにちはAkshayは、私はあなたを得ることはありません、あなたは私に良い例を与えることができます? – Suppi

+1

handleEventメソッドに他のクラスへのポインタを渡す必要があります。次に、次の行を追加します。[otherClass actOnEvent:output];後に[self messageReceived:出力]; – Akshay

+0

actOnEventを使用すると、見つかりませんでした... – Suppi

関連する問題