앱/iOS(Swift)62 [Swift] throw 상황 정의하는법 enum MovieAPIError: Error { case badURL } do { let request = try build(type: type) } catch{ print(error) } func build(type: MovieApiType) throws -> URLRequest { switch type{ case .hustURL(urlString: let urlString): //값을 가져오지 못했을 떄 throw 상황 guard let hasURL = URL(string: urlString) else { throw MovieAPIError.badURL } print("aaa") } } guard문을 통해서 값이 없으면 throw 를통해서 내가 정의한 에러문을 가져오고 print문을 실행하지 않고 .. 2022. 1. 22. [Swift] Core Data CoreData: 애플의 local object graph persistence framework, 로컬 디바이스에데이터를 저장하는 목적으로 사용하는 프레임워크 CoreData의 기능중 하나인 Persistence는 데이터베이스인 SQLite에 의해 지원 된다 Core Data는 데이터베이스가 아니고, 데이터를 유지하기위한API도 아님 UserDefault는 app setting같은 간단한 정보를 저장하기에 적합, Core Data는 큰 user Data를 저장하기 적합 ios 10버전 이전에는 Model, context , store coordinator을 다구현해야 했었다 ios 10버전 이상에서는 Context만 구현하면 사용가능 Entity = table 2022. 1. 22. [Swift] init 이니셜라이저: 클래스가 부모 클래스에서 상속한 모든 속성을 포함해서, 저장속성은 초가화 하는동안 초기값을 지정해줘야함 지정 이니셜라이저 Class B{ init(매개 변수) { //sadasd } * 편의 이니셜라이저{ self.init(name: name) //지정이니셜라이저를 호출해야함 } class A : B{ init() { //무조건 부모클래스 이니셜라이저를 호출해야함 super.init() } } } 부모클래스의 이니셜라이셔를 호출 해야한다 클래스 내부에 반드시 한개이상의 지정 이니셜라이저가 있어야함 클래스의 모든 저장프로퍼티를 초기화 해야함 상속받은 클래스에 지정이니셜 라이저가 있으면 반드시 부모클래스 이니셜라이저를 호출해야함. ex) init(){ super.init(frame: .zero.. 2022. 1. 22. [Swift] editButtonItem touchevent 함수 self.navigationItem.leftBarButtonItem = self.editButtonItem var hidden1 = false @IBOutlet weak var todoTableView: UITableView! override func setEditing(_ editing: Bool, animated: Bool) { super.setEditing(editing, animated: animated) print("edit") if self.todoTableView.isEditing { self.todoTableView.setEditing(false, animated: true) hidden1 = false } else { self.todoTableView.setEditing(true, ani.. 2022. 1. 19. [Swift] 터치한 테이블 셀 색 되돌리는법 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { tableView.deselectRow(at: indexPath, animated: true) } 2022. 1. 18. [iOS] CoreData Entity 지우는법 앱을 만들때 CoreData 사용한다고 하면 xcdatamodelId 파일이 생기는데 여기서 테이블을 만듭니다 테스트 테이블을 만들고 지우려고 우클릭을 했는데 안뜨더라고요 찾아보니까 그냥 누른 상태에서 백스페이스를 누르면 된다고 합니다 여기서 주의할 점이 Entity를 지우면 앱이 오류가 날수도 있기 때문에 지우기 전에 무조건 백업을 해놔야 된다고 합니다 2022. 1. 17. 이전 1 ··· 3 4 5 6 7 8 9 ··· 11 다음