Failable Initializers란
클래스, 구조체, 열거형을 만들때 실패할 가능성이 있으면 Initailizer뒤에 옵셔널을 줘서 인스턴스 생성실패를 막아줄 수 있다.
예로는 다음과 같다
UIImage 클래스를 인스턴스로 선언할때 볼 수 있다
위는 이름 초기화 중 해당이름이 없을때 초기화 실패 가능성이 있기때문에 Failable Initializers를 사용하고 있다.
문자열 자르기
위는 픽커뷰 사용중 row하나가 선택되었을 때 실행되는 함수로
lblImageFileName.text = String(imageFileName[row].split(separator: ".").first!)
|
cs |
하나씩 해석해보면 다음과 같다.
lblImageFileName : 아웃렛 변수
lblImageFileName.text : 아웃렛 변수의 텍스트
imageFileName : String형 배열
row : pickerView로 선택된 행 번호
split(separator: ".") : 점( . )을 기준으로 문자열을 자르겠다는 함수
.first : 자른 문자열중 첫번째에 인자에 해당하는 값
결론은 lblImageFileName.text에 imageFileName의 이름을 .을 기준으로 잘라서 점 앞쪽에 있는 문자열을 대입하는 과정이다
하지만 문자열 자르는 부븐을 String으로 형변환을 해주었다.
왜냐하면 imageFileName[row].split(separator: ".").first! 이부분의 자료형은 String.SubSequence 이기 때문에
String? 형인 imageFileName.text에 대입이 될수 없기 때문이다
'IOS > 레포트' 카테고리의 다른 글
1203 - Table (0) | 2019.12.03 |
---|---|
클로저(closure)/후행클로저(trailing closure) (0) | 2019.11.11 |
Swift와 Object-C 차이 (0) | 2019.10.15 |