2011-03-31 3 views
0

for 루프를 사용하여 각 문자가 에서 ascii로 변환 된 다음 정수로 채워진 문자열이 있습니다. 각 출력을 관련 문자로 다시 변환했습니다. 아이폰 GUI의 레이블에 모든 출력 문자를 한 번에 모두 인쇄해야합니다.문자열을 ascii로 변환하고 xor 또는 다른 정수로 변환하십시오. Objective-C

레이블 필드에 모두 인쇄해야하는 부분을 얻을 수 없습니다. 다음은 코드입니다. 어떤 도움을 주셔서 감사합니다. 사전

-(IBAction)result { 

NSString *str = [[NSString alloc] initWithFormat:@"%@", [sword text]]; 

for (NSInteger i=0; i<[str length]; i++) 
{ 
    unichar c = [str characterAtIndex:i]; 

    int asciiCode1 = ([kword.text intValue]); 

    int z = asciiCode1^c; 

    int a = (char)z; 
} 
label.text = [NSString stringWithFormat:@" %c", a]; 

답변

1

에서 덕분에 당신은 루프의 내부에 변수를 선언, 그래서 당신이 실제로 사용할 가기 전에 그들은 죽어 가고있다.

NSMutableString을 만들고 새로 xor 된 문자를 추가 할 수 있습니다. 또한 당신은 당신이 원래 문자열의 복사본을 만들고 당신이 원하는 경우 다음뿐만 아니라 개별적으로 각 문자에 xor 수

char a = (char)z; 

대신

int a = (char)z; 

의 말을 할 수 있습니다.

+0

k. 그래서 출력 문자를 넣으려면 배열을 사용해야한다고 생각합니다. 한 번에 모든 문자를 레이블 필드에 인쇄하려고합니다. 나는 그것을 헛되이 시도했다. 어떻게하는지 말해 줄 수 있어요? – user531

+0

배열을 사용하지 마십시오. 그냥 가변 문자열을 사용하십시오. 그렇게하면 레이블 텍스트를 문자열로 직접 설정할 수 있습니다. 새 코드를 선언하고,에 추가하고, NSMutableString을 사용하는 방법을 알고 계십니까? – ultifinitus

+0

어떻게하는지 잘 모르겠습니다. append func를 사용하여 reqd 결과를 얻으려고합니다. 그러나 올바른 방향으로 가고 있는지 확실하지 않습니다. – user531

관련 문제