iOS/STUDY (56) 썸네일형 리스트형 [iOS] 동시성 프로그래밍 비동기 (Asynchronous) 프로그래밍 프로그램의 주 실행 흐름을 멈추어서 기다리는 부분 없이 바로 다음 작업을 실행할 수 있게 하는 방식입니다. 즉, 코드의 실행 결과 처리를 별도의 공간에 맡겨둔 뒤 결과를 기다리지 않고 바로 다음 코드를 실행하는 병렬처리 방식입니다. 비동기 프로그래밍은 언어 및 프레임워크에서 지원하는 여러 방법으로 구현할 수 있습니다. 덧붙이자면 메인스레드 하나만 있다고 할 때, 어떤 작업을 실행하면 그 작업이 끝날 때까지 기다렸다가 다음 코드를 실행하는 처리 방식입니다. 동시성 (Concurrency) 프로그래밍 논리적인 용어로 동시에 실행되는 것처럼 보이는 것입니다. 싱글 코어(멀티 코어에서도 가능)에서 멀티스레드를 동작시키기 위한 방식으로 멀티 태스킹을 위해 여러 개의 스.. [iOS] Photos iOS 및 tvOS에서 iCloud 사진 라이브러리를 포함하여 사진 및 비디오에 직접 접근하기 위한 프레임워크 Collection List > Asset Collection > Asset Photos 라이브러리 상호작용 PHPhotoLibrary 객체를 사용하여 사진 콘텐츠에 접근하고, 에셋 및 컬렉션을 변경할 수 있도록 애플리케이션의 사용자 권한을 얻습니다. 권한을 얻으면 사진 라이브러리가 변경될 때 변경사항을 전달받을 수도 있습니다. PHPhotoLibrary: 사용자의 사진 라이브러리에 대한 접근 및 변경을 관리하는 공유 객체 에셋 검색과 조사 이 모델 클래스는 사진 라이브러리의 콘텐츠(에셋, 컬렉션)을 나타냅니다. 읽기 전용이며 변경 불가능하며 메타 데이터만 포함합니다. 에셋과 컬렉션을 사용하려면.. [iOS] scrollview autolayout 5/12 이해가 안돼서 다시 수정합니다 ㅎ 스크롤 뷰를 만들기 위해서 스크롤이 가능한 content 영역을 제공해야합니다. 크게 보면 스크롤 뷰위에 뷰를 올려서 그 뷰의 크기만큼 스크롤이 가능하게 해야합니다. 그리고 여러가지 조정을 해주면 되는데.. 우선 scroll view를 가져오고 크기를 화면에 꽉차게 맞춰줍니다. 그리고 스크롤뷰의 constraint를 모두 0으로 맞춰줍니다. ( 스크롤뷰를 선택하고 bottom은 safe area가 아닌 superview에 맞춰줍니다. + 추가 Sperview도 있고 Content Layout Guide 도 있습니다. 추후에 무슨 차이인지 다시 공부.. ) 그다음 UIView (컬렉션 뷰, 이미지 뷰 모두 가능합니다.) 를 추가해주고, 첫번째 방법 마찬가지로 화면.. [iOS] The data couldn’t be read because it is missing. 테이블 셀에 json 데이터를 가져오던 도중에 발생한 오류 do { self.countries = try jsonDecoder.decode([Country].self, from: dataAsset.data) } catch { print("에러나따2") print(error.localizedDescription) } 콘솔창에 The data couldn’t be read because it is missing. 가 떠버렸다. json 데이터를 받아올 구조체를 선언한 파일로 가서 struct Country: Codable { let countryName: String let assetName: String enum CodingKeys: String, CodingKey { case countryName = ".. [iOS] segue로 데이터 전달 ViewController.swift override func prepare(for segue: UIStoryboardSegue, sender: Any?) { guard let nextViewController: SecondViewController = segue.destination as? SecondViewController else { return } guard let cell: UITableViewCell = sender as? UITableViewCell else { return } nextViewController.textToSet = cell.textLabel?.text } ViewController에서 SecondViewController로 데이터를 넘겨줄 때 사용한다. guard let으.. [iOS] UITableView Tabel: Table view, data source, delegate 인터페이스 빌더 Table view 넣기 Table cell 넣기 @IBOutlet UITableView 연결하기 스토리보드에서 dataSource, delegate를 View Controller 에 연결하기 코드 (4번) self.tableView.delegate = self self.tableView.dataSource = self 필수구현 numberOfRowsInSecion: 각 row의 행이 몇개인지 cellForRowAt: 각 cell에 들어갈 내용 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { switch sect.. [iOS] Singleton Singleton 패턴을 사용하던 도중에 shared 로 선언할 뿐만 아니라 한가지를 더 추가해야한다는 사실을 알았다. 하나의 인스턴스로만 사용하기 때문에 외부에서 새로운 객체를 생성할 수 없도록 해야한다. 외부에서 생성할 수 없게 해야하기 때문에 initialize 함수를 private 으로 선언해야 외부에서 생성이 불가능하다. 고로 인스턴스 생성 + private init 함수 생성 을 해야 singleton 패턴을 사용할 수 있다. 예시 class UserInformation { static let shared: UserInformation = UserInformation() var id: String? var password: String? var checkPassword: String? var .. [iOS] UITextField 암호화 시 Strong Password 회원가입 창을 만들때 암호를 가리기 위해서 passwordTextField.isSecureTextEntry = true 코드를 넣었는데, Strong Password 가 뜨면서 가려지지도 않고, 입력한게 보이지도 않았다. (가로로도 눕혀봤는데 안보이더라ㅜ) passwordTextField.textContentType = .password passwordTextField.isSecureTextEntry = true textContentType 이 그냥 password일때는 Strong Password가 뜨고, newPassword로 해야 암호가 가려지게 적혀진다. [AutoFill] Cannot show Automatic Strong Passwords for app bundleID: com.neuli.my.. 이전 1 2 3 4 5 6 7 다음