본문 바로가기

아이폰 개발/Swift63

swift - custom collectionview cell 주의 collectionView 커스텀 뷰 이슈 -커스텀 cell에 addSubviews 할때 주의 사항[!] https://g-y-e-o-m.tistory.com/134 https://zeddios.tistory.com/m/359 https://sihyungyou.github.io/iOS-dequeueReusableCell/ https://jinnify.tistory.com/58 2021. 6. 26.
Swift 스크롤 뷰 튜토리얼 2021 - 06 -03 스크롤뷰 생성할때 스크롤 뷰의 안의 컨텐츠 뷰의 컨텐츠들(UIView)의 높이가 각각 명확해야 한다. 그리고 제일 마지막 뷰의 바텀 const를 10 - 15 등 원하는 값을 주면 간격에 맞게 이격되어 출력된다. https://corykim0829.github.io/ios/UIScrollView-with-storyboard/# 2021. 6. 3.
swift - tableViewController MVVM 으로 만들기 swift - tableViewController MVVM 으로 만들기 📌 데이터 { "data": { "id": 1, "fullName": "Tom Sawyer", "pictureUrl": "tom", "email": "tomSawyer@gmail.com", "about": "I like travelling along Missisipi!", "friends": [ { "name": "Huckleberry Finn", "pictureUrl": "finn" }, { "name": "Becky Thatcher", "pictureUrl": "becky" }, { "name": "Celeste Holm", "pictureUrl": "holm" } ], "profileAttributes": [ { "key": ".. 2021. 4. 19.
swift 공통 로그 swift 공통 로그 import Foundation struct Log { //디버그용 static func debug(_ msg: String, line: Int = #line, fileName: String = #file, funcName: String = #function) { #if DEBUG let fname = (fileName as NSString).lastPathComponent print("[\(fname) \(funcName):\(line)]", msg) #endif } //에러 출력용 static func error(_ msg: String, line: Int = #line, fileName: String = #file, funcName: String = #function) { de.. 2021. 4. 14.
swift -Realm 예제 2 - ToDoList 일대다 관계 swift -Realm 예제 2 - ToDoList 일대다 관계 ✅ 사용자 모델 생성 //User Model import RealmSwift import UIKit class User: Object { @objc dynamic var id : Int = 0 @objc dynamic var name : String = "" @objc dynamic var idCard: IDCard? //User 객체와 Todo 객체의 콜렉션을 연결하는 To-Many let todos = List() var hasTodos:Bool{ return todos.count > 0 } convenience init(id: Int, name: String) { self.init() self.id = id self.name = nam.. 2021. 4. 12.
swift -Realm 예제 1 - 단순 CRUD swift -Realm 예제 1 ✅ UserInfo 테이블을 생성한다. import Foundation import RealmSwift class UserInfo: Object { @objc dynamic var name = "" @objc dynamic var age = 0 @objc dynamic var gender = "" } ✅ 객체 저장 func makeUserInfo(_ name:String, _ age:Int, _ gender:String) -> UserInfo { //Data 객체 let userinfo = UserInfo() userinfo.name = name userinfo.age = age userinfo.gender = gender return userinfo } //저장 @IBA.. 2021. 4. 12.
swift alamofire 예제 swift alamofire 예제 ●구현할 기능 UISearchBar 구조체가 DecodableJSON을 데이터 모델로 변환 CodingKey Decodable UIStoryboardSegue ● Stored Property(저장 프로퍼티) var로 선언하면 "변수"를 저장 let으로 선언하면 "상수"를 저장 lazy 프로퍼티는 항상 변수로서 선언즉, var로 선언! 게으른 저장 프로퍼티는 "값이 필요할 때" 초기화를 함. 출처 https://zeddios.tistory.com/243 ● Computed Property(연산 프로퍼티) 연산프로퍼티는 값을 "저장"하기 보다는 연산을 한다 - (연산결과를 저장해줄 저장프로퍼티 필요함) 반드시 var로 선언되어야 한다.(값이 고정되어 있지 않기때문) 1. 클.. 2021. 4. 5.
swift socket io 예제 swift socket io 예제 ✅ 스토리보드 ✅사용 기술 MainQue CustomCell xib file Dictionary Socket IO 클로저 prepareForSegue UITextViewDelegate UIGestureRecognizerDelegate timer notificationCenter UIView.animate 키보드 델리게이트 메소드 ✅ 소켓 매니저 클래스 SocketIOManager.swift [1]소캣연결시도 [2]소캣연결종료 [3]유저채팅방에 연결 [4]유저 채팅방에서 삭제 [5]메시지발송 [6]유저 입장, 퇴장 타이핑 유무 등록 [7]notificationcenter import UIKit import SocketIO class SocketIOManager: NSObj.. 2021. 3. 31.
swift fmdb 예제 1 - feat: tableview , typealias , 튜플, do catch swift fmdb 예제 1 - feat: tableview , typealias , 튜플, do catch 준비 먼저 fmdb 라이브러리를 가져온다. xcode 에서 source control -> clone... 클릭 후 , fmdb git 주소를 적어주고 프로젝트를 복사한다음, fmdb 파일만 프로젝트로 가져온다. 그리고 위의 사진처럼 브릿징 파일을 만들어주고, 아래 그림처럼 build settings 에서 브릿징 파일을 연결해 준다. 스토리보드 부서관련 DAO 1.DepartRecord 튜플 선언 2.FMDatabase 변수 선언 3.init 4.부서 목록 읽어오기 5.단일 부서 읽어오기 6.부서정보 추가 7.부서정보 삭제 import Foundation class DepartmentDAO { /.. 2021. 3. 30.