라벨이 xcode 8.1인 게시물 표시

XCode 8.1 에서 Swift 3.0.1 으로 Realm 사용기

데이터베이스를 Realm 을 사용하기로 했다. 쉽고 간단하게 사용할 수 있다고 하며 매뉴얼이 잘되어 있다. 한번 따라 해보기로 했다. 프레임 워크를 수동으로 추가했다. 수동 추가 방법은 Target - General - Embedded Binaries 에서 + 버튼을 클릭하여 추가하면 된다. 반드시 다운받은 폴더에서 3.0.1 의 프레임 워크 파일을 선택해야 한다. Swift 3.0 폴더를 선택해서 한동안 알수 없는 오류로 마음고생을 해야 했다. 이제 프레임 워크를 임포트를 한다. import RealmSwift import Realm 그리고 데이터베이스에 사용할 클래스 구조를 선언한다. Class 와 Struct 의 차이는 참조 와 값 전달의 차이이다. class WorkList: Object {   dynamic var id: Int = 0 } 이를 사용하려면 let myWork = WorkList() myWork.id = 2 입력할 자료를 생성하고 let realm = try! Realm() do {   realm.beginWrite()   realm.add(myWork)   try realm.commitWrite() } catch {   print("realm error: \(error)") } 이렇게 하면 입력이 된다. 파일을 생성해서 할 수 도 있는데 그냥 default 를 사용해야한다. config 에 FileURL 을 설정하여 하는 방법이 인터넷에 있길래 받아서 했는데 되지 않는다. realm browser 에서 보이지 않는다. 파일을 읽으려면 let results = realm.objects(WorkList.self) print(results) 객체 안에 타입을 넣는데 이건 선언한 타입을 넣어야 한다. myWork.self 를 넣어서 한동안 마음고생을 했다. MaxOS sierra 에서 realm 파일은 이곳에 있다. /Users/사용자/Li

EKEventStore requestAccess 사용할때 접근되지 않고 오류날 때 조치방법(Swift3, Xcode 8.1, iOS 10.1)

이미지
일단 오류는 아래와 같은 오류입니다. 기존에 잘되던게 업데이트 하고 나서 안되는 경우입니다. info.plist 에 Privacy - Calendars Usage Description 추가하면  접근 메시지가 보여야 하는데 보여지지 않고 아래와 같은 오류가 나는 겁니다. 오류에 대한 대처는 전부 다 해본거 같습니다. 아래와 같이 수정하니 이부분의 오류는 나지 않고 잘 넘어갑니다. 접근 메시지도 잘 나옵니다, 결론은 error: Error? 이부분에서 ? 를 넣어주니 오류가 안납니다. 옵셔널 값에 대한 널을 허가 해주는 부분인거 같습니다.