2014-08-30 2 views
2

내가 스위프트에이 목표 - C 코드 변환하려고에 대한에서 그 값을 변경 한 후 액세스 :변수를 초기화 및 루프

- (void) performActivity{ 
NSMutableString *reversedStrings = [[NSMutableString alloc] init]; 
for (NSString *string in self.activityItems){ 
    [reversedStrings appendString:[self reverseOfString:string]]; 
    [reversedStrings appendString:@"\n"]; 
} 
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Reversed" 
                message:reversedStrings 
                delegate:self 
              cancelButtonTitle:@"OK" 
              otherButtonTitles:nil]; 
[alertView show]; 

을}

내 스위프트 코드는 다음과 같습니다

override func performActivity() { 

    var reversedStrings = String() 

    for string in activityItems{ 

     reversedStrings += reverseOfString(string) 
     reversedStrings += "\n" 
    } 

    var alert = UIAlertView(title: "Reversed", 
     message: reversedStrings, 
     delegate: self, 
     cancelButtonTitle: "Cancel", 
     otherButtonTitles: "Ok") 

    alert.show() 
} 

하지만 내 경고의 메시지는 여전히 빈 문자열입니다. for 루프의 결과 인 reversedString을 어떻게 액세스 할 수 있습니까? 답변에 미리 감사드립니다.

+1

'reverseOfString'가 개발 한 수업 방법이다. 아마도 오류가 있습니다. 구현을 게시 할 수 있습니까? – Antonio

답변

2

reverseOfString()의 구현이 올바르게 작동하지 않을 가능성이 높습니다. reverse 방법을 구현하는 String 확장자를 사용

var reversedStrings = String() 

for string in activityItems{ 

    reversedStrings += string.reverse() 
    reversedStrings += "\n" 
} 

: 다음 작업 솔루션이다 나는 가정

extension String { 
    func reverse() -> String { 
     var result = "" 

     for character in self { 
      result = "\(character)" + result 
     } 

     return result 
    } 
} 
+0

Strings에서 작동하는 내장 reverse() 함수가 있습니다. –

+0

@Catfish_Man : 사실입니다. 그러나 문자 배열을 반환하므로 여전히 조인해야합니다. – Antonio

관련 문제