2013-07-15 3 views
0

에 나는이 경우, combined 변수를 문자열을 표시 할 UITextView를 얻이 수없는 것 표시되지 않습니다. 잘못 될 수 있는지의문자열 UITextView

- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag { 
    NSData *pongReply = [@"PONG :hades.arpa\r\n" dataUsingEncoding:NSASCIIStringEncoding]; 
    NSData *strData = [data subdataWithRange:NSMakeRange(0, [data length])]; 
    NSString *msg = [[NSString alloc] initWithData:strData encoding:NSASCIIStringEncoding]; 
    [asyncSocket readDataWithTimeout:-1 tag:0]; 
    NSLog(@"%@", msg); 

    //ping reply 
    NSRange pingReply = [msg rangeOfString:@"PING :hades.arpa"]; 
    NSRange chanMsgs = [msg rangeOfString:@"PRIVMSG #"]; 
    if (pingReply.location != NSNotFound) { 
     NSLog(@"we got pinged"); 
     [asyncSocket writeData:pongReply withTimeout:-1 tag:1]; 
    } 

    //Channel control/msgs 
    if (chanMsgs.location != NSNotFound) { 
     NSLog(@"CHANNEL MESSAGE!"); 
     //code for getting text after (space): 
     NSString *str = msg; 
     NSString *search = @" :"; 
     //code for before !~ 
     NSString *str2 = msg; 
     NSString *search2 = @"!"; 
     NSString *sub = [str substringFromIndex:NSMaxRange([str rangeOfString:search])]; 
     NSString *sub2 = [str2 substringToIndex:NSMaxRange([str2 rangeOfString:search2])]; 

     NSString *sub2out = [sub2 stringByReplacingOccurrencesOfString:@":" withString:@""]; 
     NSString *sub2out2 = [sub2out stringByReplacingOccurrencesOfString:@"!" withString:@""]; 
     NSString *combined = [NSString stringWithFormat:@"%@: %@", sub2out2, sub]; 
     NSLog(@"%@", combined); 
     chatWindow.text = [chatWindow.text stringByAppendingString:combined]; 
     chatWindow.text = [NSString stringWithFormat: @"%@", combined]; 
    } 
} 

어떤 아이디어 : 여기

내 코드?

+0

chatWindow에서 자세히 볼 실패하면

chatWindow.text = @"Sample chat text"; 

:

간단한 테스트는 당신이 열거 한 모든 계산을 대체하는 것 그것은 추측하기가 매우 어렵습니다. 실행시'chatWindow'의 값은 무엇입니까? 이 스레드는 어떤 스레드에서 실행됩니까? (즉, 소켓 대기열을 기본 대기열 또는 아니요로 설정 했습니까?) 코드의 다른 부분에서 텍스트를 변경할 수 있습니까? 나는 코드의 다른 부분의 텍스트를 변경할 수 없습니다입니다 –

+0

, 나는 심지어 레이블과 텍스트 뷰를 대체하기 위해 노력하고 난 아직이 작업을 가져올 수 없습니다 :/ –

+0

소켓 위임 큐도 메인 큐로 설정되어 –

답변

0

문제는 chatWindow 함께 - 다음 중 하나

  • 그것은 (그 '창'이름에서 알 수 있듯이) 그것은 위치는 (
  • 그것은 보이지 않는 UITextView에 바인딩되지 nil
  • 입니다 창 밖 또는 hidden이 예)

확인하십시오. 그 자세한 내용은없이 (디버거 또는 NSLog (@"Window: %@", chatWindow)와)

+0

보인다 올바르게 바인딩 됨 IBOutlet UITextView * chatWindow; 그것은 분명히 볼 수 있습니다, 숨김 NO가 없습니다 –

+0

컴파일시의 선언과 같이 런타임에 값이 어떻게됩니까? – GoZoner

+0

NSLOG (@ : window % @ ", chatWindow) im 수신 null;/ –