2016-09-19 2 views
2

나는 Objective C에서 Swift 3.0 구문으로 코드를 변환하려고 시도 해왔다. 아래의 객관적인 C 코드를 찾으십시오. 다음과 같은 오류를 제공Swift 3.0의 객관적인 C 코드

NSCharacterSet *invalidCharSet = [[NSCharacterSet characterSetWithCharactersInString:@"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz "] invertedSet]; 

NSString *filtered = [[string componentsSeparatedByCharactersInSet:invalidCharSet] componentsJoinedByString:@""]; 
여기

내가 시도 무엇,

스위프트 목표 C (즉, 필터링 = ..) 3.0

let invalidCharSet : NSCharacterSet = NSCharacterSet.init(charactersIn: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ").inverted as NSCharacterSet 

let filtered = (replacementString.components(separatedBy: invalidCharSet)as NSArray).componentsJoined(by: "") 

두 번째 문 ,

오류

'구성 요소'생산 '[문자열]'이 아닌 예상 상황에 맞는 결과 유형 'NSArray를'

+1

NSArray를 사용하지 말고 Swift 배열을 사용하고 .joined를 호출하십시오. – Moritz

+0

두 제안을 모두 시도 ... 둘 다 작동하지 않습니다 –

답변

3

있는 NSArray를 사용하지 마십시오, 신속 배열을 사용하고 전화 .joined 그 위에. 일반적으로 Swift에서는 Foundation을 사용하지 않으려 고하며 Swift의 자체 입력 도구를 사용하십시오.

let invalidCharSet = CharacterSet(charactersIn: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ").inverted 

let filtered = replacementString.components(separatedBy: invalidCharSet).joined(separator: " ") 
+1

굉장한 친구 ... 고마워 :) –

관련 문제