swift 패스트캠퍼스iOS프로젝트캠프 - 교재에없는Swift예시

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift 패스트캠퍼스iOS프로젝트캠프 - 교재에없는Swift예시相关的知识,希望对你有一定的参考价值。

//
// 배열과 클로저 활용
//

[1, 3, 6, 2, 7, 9]
  .filter { $0 % 2 == 0 } // 짝수 필터링
  .map { $0 * 2 } // 모든 값에 곱하기 2
  .reduce(0, +) // 초깃값부터 각각의 값에 더하기 연산


//
// 튜플 활용
//

typealias CoffeeInfo = (name: String, price: Int)
let coffeeInfo: [CoffeeInfo] = [
  ("아메리카노", 4300),
  ("롱블랙", 5000),
  ("라떼", 4500),
  ("플랫화이트", 5200),
]
func findCoffee(withName name: String) -> CoffeeInfo? {
  return coffeeInfo
    .lazy // lazy evaluation
    .filter { $0.name == name } // 이름이 같은 커피 정보를 필터링
    .first // 결과 중 가장 첫 번째 결과
}
findCoffee(withName: "롱블랙")?.price // 5000


//
// Enum 활용
//

enum APIResult {
  case success(String)
  case failure(APIError)
}

enum APIError {
  case timeout
  case invalidParameter(field: String, reason: String)
}

func fetchUsername(userID: Int, completion: (APIResult) -> Void) {
  print("fetchUsername(userID: \(userID))")
  if userID > 0 {
    return completion(.success("fastcampus"))
  } else {
    return completion(.failure(.invalidParameter(field: "userID", reason: "userID는 0보다 커야 합니다.")))
  }
}

fetchUsername(userID: 123) { result in
  switch result {
  case .success(let username):
    print("사용자 이름: \(username)")
  case .failure(let error):
    print("API 요청 실패: \(error)")
  }
}

fetchUsername(userID: -100) { result in
  switch result {
  case .success(let username):
    print("사용자 이름: \(username)")
  case .failure(let error):
    print("API 요청 실패: \(error)")
  }
}

以上是关于swift 패스트캠퍼스iOS프로젝트캠프 - 교재에없는Swift예시的主要内容,如果未能解决你的问题,请参考以下文章

html PC공통스크립트의로딩직후Callback을주는방법

sh 파일에서특정문자열을찾아변형후새로운파일에저장하는스크립트

markdown 터미널프롬프트변경

markdown getter,setter,프로퍼티#python #tutorial

markdown 네임스페이스와스코프#python #tutorial

html 베스트위젯의각리뷰상단에텍스트삽입