티스토리 뷰

1. Array

var a = Array<String>()
var a = [String()

let animals = ["Giraffe", "Cow", "Doggie", "Bird"] //var로 변경해야 append 가능
animals.append("Ostrich")
let animal = animals[5] //crash(array out of bounds)

//enumerating an Array
for animal in animals {
	print("\(animal)")
}

 

Array 메소드

1. filter

Array의 모든 요소마다 클로져를 실행하고 true로 반환되는 요소를 포함시켜 반환

filter(includeElement: (T) -> Bool) -> [T]
let bigNumbers = [2, 47, 118, 5, 9].filter({ $0 > 20 }) //[47, 118]

2. map

Array의 각 요소를 다른것으로 변환 ex: (int -> String) 변환

filter처럼 { }밖으로 소괄호가 없음. 클로저가 함수의 마지막 인자면 소괄호 있어도 되고 없어도 됨

map(transform: (T) -> U) -> [U]
let stringified: [String] = [1,2,3].map{ String($0) }

3. reduce

Array를 하나의 결과로 줄일 수 있음

첫번째 인자를 위해서 ( ), 클로저는 밖에 { } - 트레일링 클로져 문법

reduce(initial: U, combine: (U, T) -> U) -> U
let sum: Int = [1,2,3].reduce(0) { $0 + $1 }

2. Dictionary

var pac10teamRankings = Dictionary<String, int>()
var pac10teamRankings = [String:Int]()

pac10teamRankings = ["Stanford":1, "Cal":10]
let rankings = pac10teamRankings["Ohio State"] //Int? would be nil

//use a tuple with for-in to enumerate a Dictionary
for (key, value) in pac10teamRankings{
	print("\(key) = \(value)")
}

 

값 추출 시 key만 원한다면 value에 언더바, value만 원한다면 key에 언더바 넣으면 됨

3. String

전체가 유니코드

var characters: String.CharacterView { get }

 

String에서 characterView를 호출하면 문자의 배열처럼 보이는 문자(사실은 아닌)를 가져옴

int로 찾고 문자를 가져올 수 있음. 긴 String의 경우 Array사용

4. Other classes

NSObject

모든 Object-C 클래스들의 기본 클래스

Objective-C로 된 API를 Swift에서 사용할 때 NSObject의 자식클래스가 되는 클래스 필요

 

NSNumber

Objective-C에서의 구조체는 스위프트의 구조체와 다름(C의 구조체와 비슷)

Double, Int는 C의 double과 int임(객체 아님)

Array에 많은 숫자를 넣길 바라면? 불가 - Array는 객체로 된 Array이며 Objective-C의 double, int는 원시타입

NSNumber는 원시타입을 객체 안에 포장하기위한 방법

Int가 나열된 Array : Objective-C에선 NSNumber로 된 Array, Swift에선 Swift의 Int로 된 Array

Array, Dictionary, Int, Double, NSNumber는 자동연결(브리징)

한쪽이 다른쪽으로 되어야 하는 함수를 호출하면 자동으로 동작됨

let n = NSNumber(35.5)
let intversion: Int = n.intValue

 

NSDate

날짜 관련 UI작업 시 사용

 

NSData

비트 단위 데이터 모음

데이터 전달(ex 네트워크 상 이미지 데이터) 시 사용

최근에 올라온 글
Total
Today
Yesterday