Blog

Swift – String and Characters 정리

August 26, 2014

Swift – String and Characters 정리

문자열과 문자(Strings and Characters)

문자열은 문자들의 집합.

Swift 문자열은 String 타입으로 표시되면 Character 타입 값의 집합을 표현한 것.

Swift 문자열과 문자 타입은 빠르며 유니코드에 호환됨.

두 개의 문자열을 연결할 때 + 연산자를 사용하여 간단함.

Swift 문자열 타입은 Foundation의 NSString 클래스에 연결됨. Cocoa 또는 Cocoa Touch의 Foundation 프레임워크에 NSString API를 호출하여 String 값을 만드는 것이 가능함. 특정 API에서 NSString 인스턴스에 필요한 String 값으로 사용할 수 있음.

문자열 리터럴(String Literals)

문자열 리터럴은 상수나 변수의 초기 값을 사용할 수 있도록 함.

let someString = "Some string literal value"

Swift에서 someString은 String 타입의 영향을 받음. 이는 초기 값이 문자열 리터럴 값이기 때문.

빈 문자열 초기화(Initializing an Empty String)

빈 문자열은 String 인스턴스를 초기화 하거나 빈 문자열 리터럴 값을 변수에 할당함.

var emptyString = ""               // empty string literal
var anotherEmptyString = String()  // initializer syntax
// these two strings are both empty, and are equivalent to each other

빈 문자열 값은 isEmpty 속성을 통해 확인할 수 있음.

if emptyString.isEmpty {
    println("Nothing to see here")
}
// prints "Nothing to see here"

문자열 가변성(String Mutability)

특정 문자열을 변수에 할당하여 수정할 수 있는지를 나타내거나 상수를 말함.

var variableString = "Horse"
variableString += " and carriage"
// variableString is now "Horse and carriage"
 
let constantString = "Highlander"
constantString += " and another Highlander"
// this reports a compile-time error - a constant string cannot be modified

Objective-C와 Cocoa에선 다르게 NSString과 NSMutableString 두 개의 클래스를 선택하여 사용함.

문자열은 값 타입(Strings Are Value Type)

Swift 문자열 타입은 값 타입. 문자열 값은 함수나 메소드를 통해 문자열 값이 복사되어 전달됨. 전달된 문자열은 원본이 아님.

Cocoa에 NSString과는 다르게 NSString을 메소드나 함수에 전달하면 같은 단일 NSString에 참조를 할당함. 특별히 요청하지 않는 이상 문자열 값은 복사되지 않음.

문자 작업(Working with Characters)

Swift 문자열 타입은 지정된 순서로 문자 값의 집합으로 표시.

for-in 반복문을 통해 각가의 문자 값에 접근 가능함.

for character in "Dog!

Array