아래 코드들은 Github 에서도 다운받을 수 있습니다.
SWIFT_Playground_Excersice: https://github.com/youp-han/SWIFT_Playground_Excersice
//------------------------------------------------------------
// 코드 로그 입니다.
// Day 5
do {
let printerResponse = try send(job: 1440, toPrinter: "Gutenberg")
print(printerResponse)
} catch PrinterError.onFire{
print("I'll just put this over here, with the rest of the fire.")
} catch let printerError as PrinterError{
print("Printer error: \(printerError).")
} catch {
print(error)
}
//optional try (try?) will convert result to an optional.
//so if the function throws an error, the error is discarded and
// result is nil
let printerSuccess = try? send(job: 1884, toPrinter: "Mergenthaler")
let printerFailure = try? send(job: 1884, toPrinter: "Never Has Toner")
//defer
var fridgeIsOpen = false
let fridgeContent = ["milk", "eggs", "leftovers"]
func fridgeContains(_ food: String) -> Bool {
fridgeIsOpen = true
defer{
fridgeIsOpen = false
}
let result = fridgeContent.contains(food)
return result
}
fridgeContains("banana")
print(fridgeIsOpen)
//Generics
func makeArray<Item>(repeating item: Item, numberOfTimes: Int) -> [Item]{
var result = [Item]()
for _ in 0..<numberOfTimes {
result.append(item)
}
return result
}
makeArray(repeating: "knock", numberOfTimes: 4)
enum OptionalValue<Wrapped>{
case none
case some(Wrapped)
}
var possibleInteger: OptionalValue<Int> = .none
print("possibleinteger = \(possibleInteger)")
possibleInteger = .some(100)
print("possibleinteger (100) = \(possibleInteger)")
func anyCommonElements<T: Sequence, U: Sequence> (_ lhs: T, _ rhs: U) -> Bool where T.Iterator.Element: Equatable, T.Itertor.Element == U.Iterator.Element{
for lhsItem in lhs{
for rhsItem in rhs{
if lhsItem == rhsItem {
return true
}
}
}
return false
}
anyCommonElements([1,2,3], [3])
'초짜 IT보이 서바이벌 스토리 > iOS - swift' 카테고리의 다른 글
SWIFT vs KOTLIN (0) | 2017.10.31 |
---|---|
[swift] code log, day 4 (0) | 2017.09.26 |
[swift] code log, day 3 (0) | 2017.09.25 |
[swift] code log, day 2 (0) | 2017.09.24 |
[swift] code log, day 1 (0) | 2017.09.22 |