Swift 썸네일형 리스트형 optional 해제방법 안녕하세요~! coit입니다. 이번 시간은 ?에 대해 알아보겠습니다. ?는 optional입니다.~~ optional은 nil값을 참조하여 에러가 나는 것을 방지하기 위해서 사용됩니다. optional을 해제 하는 방법에 대해서 알아보겠습니다. 크게 2가지 방법이 있습니다. 1. 명시적 해제 2. 묵시적 해제 1. 명시적 해제를 보겠습니다. 1) !연산자를 이용하여 강제로 optional을 해제합니다. nil이 들어있는 변수를 강제로 optional을 해제하면 치명적 오류가 발생하므로 주의해야 합니다. var optionalValue: Int? = 3 var newValue = optionalValue! 2) optional binding var optionalValue: Int? = 3 //if문에서 .. 더보기 try-catch처리 개인 error을 만들기 Error Protocol을 이용하여 열거형을 만듭니다. 여기에서는 phoneError라는 이름으로 만들었습니다. error발생시키기 함수 안에 error를 발생시킬 수 있습니다. 함수 선언부분에 throws를 써야합니다. 던지고자하는 error앞에 throw를 써야합니다. throw를 통해서 함수를 요청했던 부분으로 에러가 던져집니다. error처리 error를 처리하는 방법은 총 3가지가 있습니다. 1. do - catch 함수에서 던져진 error를 do안에서 받고 error에 해당되는 catch문에서 처리합니다. 2. try? 함수에서 던져진 error를 해당 줄에서 받게 됩니다. error가 발생하면 nil을 받게 됩니다. error가 없으면 정상적인 반환값을 받게 됩니.. 더보기 기본문법 try-catch 더보기 [swift] collectionview 사용하기 안녕하세요~! kai입니다. 이 시간에는 CollectionView를 어떻게 사용하는지 보겠습니다. 보통 화면에서 UIViewController, CollectionView, CollectionViewCell를 사용은 아래와 같은 순서로 합니다. * StoryBoard안의 UIViewController, CollectionView, CollectionViewCell와 소스파일를 연결하기 StoryBoard안의 object 소스파일 1. StoryBoard에 UIViewController, ColletionView(CollectionViewCell을 안에 자동으로 포함함)를 추가합니다. 2. 소스파일을 새로 만듭니다.(만든 UIViewController을 연결하기 위한) - UIViewController를.. 더보기 [swift] 컨트롤러간 화면 전환 1. 뷰 컨트롤러 연결 - 이동 vc = self.storyboard?.instantiateController(withidentifier: "") as DetailController self.present(vc, animated: true, completion: nil) - 돌아오기 self.presentingController?.dissmiss(animated: true) 2. 네비게이션컨트롤러 연결 - 이동 vc = self.storyboard?.instantiateController(withidentifier: "") as DetailViewController self.navigationViewController?.pushViewController(vc, animated: true) - 돌아오기 s.. 더보기 [swift] UICollectionView 사용법 안녕하세요~! coit.kai입니다. IOS개발에 꼭 필요한 UICollectionView를 사용해 보겠습니다. 같이 가실까요~~~!!! ㄱㄱ UICollcectionView를 할 때 중요 몇가지 내용을 보겠습니다. 1. 화면과 소스 연결 2. Procotol사용 1) UICollectionViewDataSource : 1> 셀을 몇개 표시할까요? 2> 어떤 셀을 표시할까요? 3> 헤더뷰를 어떻게 표시할까요? 2) UICollectionViewDelegate : 셀이 눌렸을 때 어떻게 처리할까요? 3) UICollectionViewDelegateFlowLayout : 셀을 크기 어떻게 할까요?, 크기에 따라 배치가 달라짐 실제 소스에서 사용되는 모습을 보도록 하죠! extension MyViewContr.. 더보기 [swift] ViewController간 이동 class ViewController : UIViewController { func moveToSignIn(_ sender: Any) { let signInVC = UIStoryboard(name: "SignInVC", bundle: nil).instantiateViewController(withIdentifier: "signInVC") self.present(signInVC, animated: true, completion: nil) } } class SignInViewController: UIViewController { dismissVC(_ sender: Any) { self.dismiss(animated: true, completion: nil) } } buttonSignIn.layer.corne.. 더보기 이전 1 다음