검색결과 리스트
전체 글에 해당되는 글 15건
- 2018.05.31 iOS with Swift - 앱에서 디바이스 버전에 따른 분기 처리
- 2017.08.04 14. 딕셔너리 (Dictionary)
- 2017.08.04 13. Swift 구조체와 클래스
글
iOS with Swift - 앱에서 디바이스 버전에 따른 분기 처리
✅ 디바이스 버전 확인
print(UIDevice.current.systemVersion)
결과값
11.3
1️⃣ Bool 값 으로 체크
print(UIDevice.current.systemVersion.hasPrefix("11"))
print(UIDevice.current.systemVersion.hasPrefix("10"))
print(UIDevice.current.systemVersion.hasPrefix("9"))
위와 같이 프린트를 찍어 보면 아래와 같이 결과 값이 찍힌다.
true
false
false
사용 예)
if UIDevice.current.systemVersion.hasPrefix("11") == true {
print("ios 11 버전")
} else {
print("ios 11 외 버전")
}
2️⃣ 특정 버전 이상 체크
if #available(iOS 10, *) {
print("ios 10 버전 이상")
} else {
print("ios 10 버전 미만")
}
3️⃣ 버전 체크 세분화
let os = ProcessInfo().operatingSystemVersion
switch (os.majorVersion, os.minorVersion, os.patchVersion) {
case (11, 3, 0):
print("iOS = 11.3.0 메이저,마이너,패치 버전 까지 체크")
case (11, 3, _):
print("iOS = 11.3.? 마지막 패치 버전 상관 없음")
case (11, _, _):
print("iOS = 11.?.? 마이너 & 패치 버전 상관 없음")
default:
print("iOS = 11 버전 아님")
}
글
14. 딕셔너리 (Dictionary)
14. 딕셔너리 (Dictionary)
- 고유 키 (Key) 와 귿에 대응하는 값(Value) 을 연결 하여 데이터를 저장하는 자료형이다. 인덱스 정수 대신 문자열 등의 고유 키를 사용한다는 차이를 제외 하면 배열과 아주 흡사하다.
- 하나의 키는 하나의 데이터에만 연결되어야 한다.
- 하나의 딕셔너리에서 키는 중복될 수 없다. 중복해서 선언하면 아이템 추가가 아니라 수정이 이루어져 기존 키에 연결된 데이터가 제거 된다.
- 저장할 수 있는 데이터 타입에는 제한이 없지만, 하나의 딕셔너리에 저장하는 데이터 타입은 모두 일치 해야 한다.
- 딕셔너리의 아이템에는 순서가 없지만 키에는 내부적으로 순서가 있으므로 for~in 구문을 이용한 순회 탐색을 할 수 있다.
- 딕셔너리에서 사용할 수 있는 키의 타입은 거의 제한이 없으나 해시 연산이 가능한 타입이어야 한다.
키
| 저장된 값
|
KR
| Seoul
|
EN
| London
|
FR
| paris
|
- 딕셔너리의 초기화
- 딕셔너리의 선언과 초기화
- 딕셔너리에 동적 아이템 추가 하기
- 데이터 수정 하기
- 데이터 삭제 하기
- 딕셔너리 순회탐색
'Swfit' 카테고리의 다른 글
13. Swift 구조체와 클래스 (0) | 2017.08.04 |
---|---|
12. Swift 클로저(Closure) (0) | 2017.08.04 |
11. Swift 함수의 중첩 (0) | 2017.08.04 |
10. Swift 일급 객체로서의 함수 (0) | 2017.08.04 |
9. Swift 매개변수 (1) | 2017.08.04 |
글
13. Swift 구조체와 클래스
13. Swift 구조체와 클래스
- 구조체와 클래스의 공통점
- 프로퍼티
- 변수나 상수으를 사용하여 값을 저장하는 프로퍼티를 정의할 수 있다.
- 메소드
- 함수를 사용하여 기능을 제공하는 메소드를 정의할 수 있다.
- 서브스크립트
- 속성값에 접근할 수 있는 방법을 제공하는 서브스크립트를 정의할 수 있다.
- 초기화 블록
- 객체를 원하는 초기 상태로 설정해주는 초기화 블록을 정의할 수 있다.
- 확장
- 객체에 함수적 기능을 추가하는 확장(extends)구문을 사용할 수 있다.
- 프로토콜
- 특정 형식의 함수적 표준을 제공하기 위한 프로토콜을 구현할 수 있다.
- 구조체와 클래스의 차이점
- 상속
- 클래스의 특성을 다른 클래스에게 물려줄 수 있다.
- 타입 캐스팅
- 실행 시 컴파일러가 클래스 인스턴스의 타입을 미리 파악하고 검사할 수 있다.
- 소멸화 구문
- 인스턴스가 소별되기 직전에 처리해야 할 구문을 미리 등록해 놓을 수 있다.
- 참조에 의한 전달
- 클래스 인스턴스가 전달될 때에는 참조 형식으로 제공되며, 이때 참조가 가능한 개수는 제약이 없다.
- 구조체와 클래스 이름의 첫 글자는 대문자로, 나머지 글자는 소문자로 작성한다.
- 2개 이상의 복합 단어는 단어별로 끊어 첫 글자는 대문자로, 나머지는 소문자로 작성한다.
- 이미 축약된 약어는 모두 대문자로 작성 가능하다(ex: JSON, NS , HTTP 등)
- 프로퍼티나 메소드를 선언할 때는 소문자로 시작한다.
- 언더바로 단어를 연결하는 방식은 지양한다.
'Swfit' 카테고리의 다른 글
14. 딕셔너리 (Dictionary) (0) | 2017.08.04 |
---|---|
12. Swift 클로저(Closure) (0) | 2017.08.04 |
11. Swift 함수의 중첩 (0) | 2017.08.04 |
10. Swift 일급 객체로서의 함수 (0) | 2017.08.04 |
9. Swift 매개변수 (1) | 2017.08.04 |