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

+ Recent posts