Study/ios
-
[ios/Swift] TableView 사용법 - 기본Study/ios 2023. 3. 19. 14:45
tableview는 다른 언어에서 리스트뷰와 같다.사용법은 두가지가 있는데 tableview controller를 통으로 사용하거나 view controller에 테이블뷰를 부분 포함시켜서 사용한다. 이번에는 테이블뷰를 부분 포함하는 것에 설명한다. 먼저 스토리보드에서 뷰컨트롤러에 TableView와 TableView Cell을 추가한다. 테이블뷰를 뷰컨트롤러에 위임 해준다. (dataSource, deletegate) 테이블 뷰 셀을 커스텀 하기 위해 클래스를 하나 만들어 준다.import UIKitclass TableViewCell: UITableViewCell { }이 클래스에 다양한 컨트롤을 추가하여 셀을 표현할 수 있는데 일단은 클래스만 만들어 주겠다. 테이블 뷰셀과 커스텀 클래스를 ..
-
[ios/Swift] 객체의 속성으로 객체배열 정렬하기Study/ios 2023. 3. 12. 17:22
Student라는 클래스가 있고class Student { var name: String var number: Int init(name: String, number: Int) { self.name = name self.number = number }} student라는 객체배열을 만들어 학생들의 번호(number속성)로 배열을 정렬하고 싶다면 이렇게 해준다.// 객체배열 생성var student:[Student] = []// 여러명의 학생을 정의한 후// Student클래스의 속성 number로 오름차순 정렬student.sort(by: {$0.number
-
[ios/Swift] UserDefaults객체에 객체배열 저장하고 가져오기Study/ios 2023. 3. 12. 16:55
UserDefaults객체를 통해 원하는 정보를 반영구적으로 저장하고 불러올 수 있다.이때 일반적인 방법으로는 객체배열을 불러올 수 없다.데이터를 저장 할때는 인코딩해주고 불러올 때는 디코딩 해줘야 한다. User라는 클래스나 구조체가 있다 하면..// Codable 프로토콜 채택class User: Codable { . . .} let ud = UserDefaults.standardvar user:[User] = [] // 객체배열 생성// user라는 객체배열을 인코딩하여 "user"라는 키로 저장ud.set(try? PropertyListEncoder().encode(user), forKey: "user")-> 저장// "user"키를 통해 저장된 데이터를 불러온다.// 데이터타입을 객체..
-
[ios/Swift] UserDefaults를 통한 비동기식 데이터 전달Study/ios 2023. 3. 8. 16:21
- UserDefaults객체를 활용하여 간단한 정보를 반영구적으로 저장하고 관리한다. (앱이 삭제되지 않는 이상 유지) 1. VC2에서 새로운 값을 UserDefault객체에 저장한다.@IBAction func onSubmit(_ sender: Any) { // UserDefault 객체의 인스턴스를 가져온다 let ud = UserDefaults.standard // 값을 저장한다. ud.set(self.email.text, forKey: "email") ud.set(self.isUpdate.isOn, forKey: "isUpdate") ud.set(self.interval.value, forKey: "inter..
-
[ios/Swift] 데이터 받아오기 - 동기식(Segue Action)Study/ios 2023. 3. 7. 21:36
@ 새로 전환한 화면에서 동기식으로 데이터 가져오기 1. 두 개의 화면 구성해주고 세그웨이 액션을 통해 간단하게 화면 전환 2. VC1에서 띄운 VC2에서 데이터 입력하고 버튼 클릭시 VC1에 데이터 전달하고 화면 종료// VC2에서 데이터 입력하고 Submit버튼 클릭 @IBAction func onSubmit(_ sender: Any) { // presentingViewController 속성을 통해 이전 화면 객체를 읽어온 다음, ViewController 타입으로 캐스팅한다. let preVC = self.presentingViewController guard let vc = preVC as? ViewController else { r..
-
[ios/Swift] 화면 전환간 데이터 전달 - 동기식(present 화면전환)Study/ios 2023. 2. 20. 00:12
두 개의 뷰컨트롤이 있을 때 VC1(ViewController1)에서 present로 연 VC2(ViewController2)로 값 전달하기화면 전환간 데이터를 직접 전달 방식(동기식)을 통해 전달한다.직접 전달 방식(동기식)은 영속적으로 값을 저장할 필요가 없는 화면 전환에서 사용된다.화면 전환 방법은 present를 사용하고 VC1에서 VC2의 인스턴스를 생성하여 프로퍼티에 값을 대입한다.VC1에서 VC2 인스턴스를 생성하여 VC2 프로퍼티에 값을 대입하고 present를 통해 화면을 전환한다. 1. VC1 준비하기- text, isOn, stepper값을 입력할 수 있는 뷰컨트롤을 준비한다.- VC2로 전환하기 위한 Submit 버튼도 배치한다. 2. VC1에서 입력한 값을 출력할 VC2를 준비한..