본문 바로가기

앱 개발/IOS

(24)
[IOS 프로그래밍을 위한 스위프트 기초] Quiz 1-2 스위프트 기본 데이터타입 퀴즈 1-2. 스위프트 기본 데이터타입 퀴즈 1번 다음 중 오류가 발생하는 코드를 모두 선택하세요. 1) let character: Character = 'A' 2) let numberThree: UInt = -123 3) let numberOne: Int = 123 4) let numberTwo: Double = 123 5) let string: String = "A" 더보기 정답: 1, 2번 2번 다음 중 스위프트에서 없음을 나타내는 키워드를 고르세요 1) Any 2) No 3) nil 4) NULL 더보기 정답: 3번 3번 다음 중 오류가 발생하는 코드를 모두 선택하세요 1) var arrayThree: [Int] = [Int] 2) var dictionaryOne: Dictionary = Diction..
[IOS 프로그래밍을 위한 스위프트 기초] Quiz 1-1 스위프트 기초개념 퀴즈 Quiz 1 1-1. 스위프트 기초개념 퀴즈 1번 내 이름을 나타내는 변수를 선언할 때 적절한 이름은 무엇일까요? 1) my_name 2) my-name 3) MyName 4) myName 더보기 정답: 4번 2번 콘솔로그를 남기는 간단한 함수를 모두 선택하세요 1) dump 2) printf 3) scanf 4) print 더보기 정답: 1, 4번 3번 아래 코드의 [빈칸]에 들어가기 알맞은 코드를 골라보세요. let number: int = 777 let output: String = [빈칸] print(output) // 행운의 숫자는 777입니다!" 1) "행운의 숫자는 %d 입니다!" 2) "행운의 숫자는 /(number)입니다!" 3) "행운의 숫자는 \(number)입니다!" 4) "행운의 ..
[IOS 프로그래밍을 위한 스위프트 기초] 1단원 12. 옵셔널 추출 12. 옵셔널 추출 옵셔널 추출 방법 Optional Binding 옵셔널 값을 꺼내오는 방법 중 하나로 nil 체크와 더불어 안전한 값을 추출한다. 옵셔널 바인딩은 예를 들어, 정수가 상자 안에 있을 때, 상자에 값을 물어보는 방식이다. func printName(_ name: String) { print(name) } var myName: String? = nil printName(myName) // 전달하는 값의 타입이 다르기 때문에 컴파일 오류가 발생한다. 위의 코드와 같은 문제를 해결하기 위해 if-let 구조를 활용한다. func printName(_ name: String) { print(name) } var myName: String! = nil if let name: String = my..
[IOS 프로그래밍을 위한 스위프트 기초] 1단원 11. 옵셔널 11. 옵셔널 옵셔널의 정의 및 특징 정의 값이 있을 수도 있고 없을 수도 있는 것 특징 옵셔널이 아닌 상수에 nil을 할당하면 오류가 발생한다. 옵셔널이 필요한 이유 옵셔널은 nil의 가능성을 명시적으로 표현한 것이다. 1) nil 가능성을 문서화 하지 않아도 코드만으로 충분히 표현할 수 있다. → 문서/주석 작성 시간을 절약할 수 있다. 2) 전달받은 값이 옵셔널이 아니라면 nil체크를 하지 않더라도 안심하고 사용할 수 있다. → 효율적인 코딩을 할 수 있다. → 예외 상황을 최소화하는 안전한 코딩이다. 예시 // someOptionalParam can be nil func someFunction(someOptionalParam: Int?) { // ... } // someParam must not ..
[IOS 프로그래밍을 위한 스위프트 기초] 1단원 10. 반복문 10. 반복문 var integers = [1, 2, 3] let people = ["fuyukawa": 10, "eric": 15, "mike": 12] 위의 것이 기본적으로 주어졌다고 가정한다. for - in 형식 for item in items { code } 예시 1 for integer in integers { print(integer) } 예시 2 for (name, age) in people { print("\(name): \(age)") } while 형식 while (condition) { code } 조건문과 마찬가지로 괄호는 선택사항이다.(괄호를 생략해도 상관 없다.) 예시 whlie integers.count > 1 { integers.removeLast() } 앞에서와 마찬가지로..
[IOS 프로그래밍을 위한 스위프트 기초] 1단원 09. 조건문 09. 조건문 If-else 형식 if condition { statements } else if condtion { statements } else { statements } 예시 if (someInteger 100 { print("100 초과") } else { print("100") } 기존의 방식과 차이점은 조건문의 괄호를 생략해도 괜찮다라는 점이다. 스위프트의 조건에는 항상 Bool 타입이 들어와야 한다. someInteger는 Bool 타입이 아닌 Int 타입이기 때문에 컴파일 오류가 발생한다. if someInteger {} //오류 발생 switch 형식 switch value { case pattern:..
[IOS 프로그래밍을 위한 스위프트 기초] 1단원 08. 함수 고급 08. 함수 고급 매개변수 기본값 기본값을 갖는 매개변수는 매개변수 목록 중에 뒤쪽에 위치하는 것이 좋다. 형식 func 함수이름(매개변수1이름: 매개변수1타입, 매개변수2이름: 매개변수2타입 = 매개변수 기본값 ...) -> 변환타입 { 함수의 구현부 return 반환값 } 예시 func greeting(friend: String, me: String = "fuyukawa") { print( "Hello \(friend)! I'm \(me)") } 매개변수 기본값을 가지는 매개변수는 생략할 수 있다. greeting(friend: "hana") // Hello hana! I'm fuyukawa greeting(friend: "john", me: "eric") // Hello john! I'm eric ..
[IOS 프로그래밍을 위한 스위프트 기초] 1단원 07. 함수 기본 07. 함수 기본 함수 정의 함수선언의 기본형태 func 함수이름(매개변수1이름: 매개변수1타입, 매개변수2이름: 매개변수2타입 ...) -> 반환타입 { 함수의 구현부 return 반환값 } 예시 func sum(a: Int, b: Int) -> Int { return a + b } 반환 값이 없는 함수 func 함수이름(매개변수1이름: 매개변수1타입, 매개변수2이름: 매개변수2타입 ... ) -> Void { 함수의 구현부 return } 예시 func printMyName(name: String) -> Void { print(name) } 축약 형태의 반환 값이 없는 함수 func 함수이름(매개변수1이름: 매개변수1타입, 매개변수2이름: 매개변수2타입 ...) { 함수의 구현부 return } 예시..
[IOS 프로그래밍을 위한 스위프트 기초] 1단원 06. 컬렉션 타입(Array, Dictionary, Set) 06. 컬렉션 타입(Array, Dictionary, Set) Intro Array: 순서가 있는 리스트 컬렉션 Dictionary: 키와 값의 쌍으로 이루어진 컬렉션(Hashmap과 비슷하다고 생각하면 쉽다) Set: 순서가 없고, 멤버가 유일한 컬렉션 Array 빈 Int Array 생성 var integers: Array = Array () 멤버 추가 1이라는 멤버 추가 integers.append(1) 100이라는 멤버 추가 integers.append(100) 당연하게도, 정수형으로 선언했기 때문에 실수가 들어갈 수 없다. integers.append(101.1) // 오류 발생 멤버 존재 확인 integers.contains(100) 값 제거하기 특정 인덱스의 값을 제거할 때 integers...
[IOS 프로그래밍을 위한 스위프트 기초] 1단원 05. Any, AnyObject, nil 05. Any, AnyObject, nil Intro Any: Swift의 모든 타입을 지칭하는 키워드다. AnyObject: 모든 클래스 타입을 지칭하는 프로토콜이다. nil: 없음을 의미하는 키워드이다. Any var someAny: Any = 100 someAny = "어떤 타입도 수용 가능하다." someAny = 123.12 Any는 어느 타입이든 저장할 수 잇다. 다만, 다른 자료형과 할당하는 건 불가능하다. let someDouble: Double = Any // 오류 발생 AnyObject class SomeClass {} var someAnyObject: AnyObject = SomeClass() 다만, 다른 데이터형을 넣으면 오류가 난다. someAnyObject = 123.12 // ..