본문 바로가기
[ios] NSManagedObjectContextDidSaveNotification sent in todayExtension? [ios] NSManagedObjectContextDidSaveNotification sent in todayExtension? 참조 : https://www.innoq.com/en/blog/ios-writing-core-data-in-today-extension/ -context 를 여러 개 사용하는 경우에 context 에 대한 commit 분의 sync 를 맞춰주기 위해CoreData 는 내부적으로 NSManagedObjectContextDidSaveNotification noti 를 보내고,이를 addObserver 해놓은 곳에서는 mergeChangesFromRemoteContextSave 함수를 통해 sync 를 맞춘다. -그러나 todayExtension 에서 context 에 변화를 주었다.. 2018. 2. 10.
[Objective-C] 선언 프로퍼티 [Objective-C] 선언 프로퍼티 출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 7. Notice : 정리자(돼지왕 왕돼지)가 remind 하고 싶은 내용이나 모르는 내용 기반으로 정리하는 것이기 때문에 구체적인 내용은 책을 사서 보시기를 권장드립니다. 7.1. 프로퍼티란 * 7.1.1. 프로퍼티를 사용한 프로그래밍 -선언 프로퍼티 관련 기능은.. 접근자 메서드 생성 인스턴스 변수를 지정해서 전형적인 접근자 메서드를 생성할 수 있다. 게터와 세터 모두 생성할지 게터만 생성할지 지정할 수 있다. 대응하는 접근자를 스스로 정의할 수도 있다. 인스턴스 변수 생성 프로퍼티를 인스턴스 변수에 없는 이름으로 선언하면 접근자 메서드와 동시에 자동으로 인스턴스 변수도 생성된다. 접근자 .. 2017. 12. 28.
[ios] Core Data Revert / Rollback / Undo [ios] Core Data Revert / Rollback / Undo -CoreData 의 자료들을 다루다가 rollback 을 하고 싶다면 여러 가지 방법이 있다. -[managedObjectContext rollback]; 이 녀석은 지금까지 반영된 & save 되지 않은 모든 변경사항을 되돌린다. -[managedObjectContext undo]; 이 녀석은 가장 최근에 행해진 작업을 되돌리는 역할을 한다.이 녀석과 페어를 이루는 것은 redo -[managedObjectContext refreshObject:object mergeChanges:NO]; 이 녀석은 해당 managedObject 에 대해 변경사항을 버리고 현재 store 에 있는 자료로 reload 한다.mergeChanges .. 2017. 12. 11.
[ios] NSExpression with CoreData [ios] NSExpression with CoreData http://useyourloaf.com/blog/core-data-queries-using-expressions/https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSExpression_Class/#//apple_ref/doc/uid/TP30001190-SW38 -Query 문 성능 측정을 위해서는 launch arguments 에 다음을 추가해야 한다.-com.apple.CoreData.SQLDebug 1 그럼 Debug Console 에서 아래와 같은 로그를 볼 수 있다.2012-01-19 20:31:37.864 ToDoSync[34.. 2017. 12. 3.
[ios/tutorial] Core Data - Creating and Saving Managed Objects [ios/tutorial] Core Data - Creating and Saving Managed Objects https://developer.apple.com/library/watchos/documentation/Cocoa/Conceptual/CoreData/CreatingObjects.html#//apple_ref/doc/uid/TP40001075-CH5-SW1 Creating Managed Objects -NSManagedObject 는 Core Data 의 model object 이다.NSManagedObject 는 2개의 element 를 갖는다. entity description ( NSEntityDescription 과 managed object context ( NSManagedObjec.. 2017. 11. 6.
[Effective Objective-C] #47 시스템 프레임워크를 숙지하라 [Effective Objective-C] #47 시스템 프레임워크를 숙지하라 출처 : Effective Objective-C -시스템 프레임워크가 없어도 오브젝티브-C 를 사용할 수 있지만 그런 일은 매우 드물다.표준 최상위 클래스 NSObject 조차도 언어에 포함되어 있는 것이 아니라 Foundation 프레임워크에 포함되어 있다.Foundation 을 쓰는 것을 원하지 않으면 자신만의 최상위 클래스 뿐 아니라 자신만의 컬렉션, 이벤트 루프, 다른 유용한 클래스를 직접 만들어야 한다.게다가 시스템 프레임워크 없이 맥 OS X 와 iOS 앱을 오브젝티브-C 로 개발할 수 없다. -어떤 시스템 프레임워크가 있는지 모른다면 이미 만들어진 것도 또 다시 직접 모두 작성해야 할 것이다. -프레임워크는 동적 .. 2017. 10. 14.
[Effective Objective-C] #12 메시지 포워딩을 이해하라 [Effective Objective-C] #12 메시지 포워딩을 이해하라 출처 : Effective Objective-C -해석할 수 없는 메시지를 클래스에 보내는 것은 컴파일 시간 에러가 아니다.컴파일러는 클래스에 없는 메시지를 보내는 코드를 컴파일할 때 에러를 일으키지 않는다.메서드가 런타임에 추가될 수 있기 때문이다.그래서 컴파일러가 메서드 구현이 존재하는지 여부를 알 수 있는 방법이 없다. -객체가 메시지를 받았을 때 그 메시지를 해석하지 못하면 메시지 포워드 단계로 넘어간다.메시지 포워드는 해석할 수 없는 메시지를 처리하는 방법을 개발자가 객체에 알려주는 절차다. -콘솔에서 다음과 같은 메시지가 나오는 이유는 객체가 해석하지 못하는 메시지를 객체에 보냈기 때문이다.-[__NSCFNumber l.. 2017. 8. 14.
[Effective Objective-C] #6 프로퍼티를 이해하라 [Effective Objective-C] #6 프로퍼티를 이해하라 출처 : Effective Objective-C -프로퍼티는 객체가 포함한 데이터를 캡슐화하는 방법을 제공하는 Objective-C 의 기능이다. -인스턴스 변수는 항상 접근자 메서드(accessor method)를 통해 접근한다.Objective-C 2.0 배포판에 프로퍼티라는 기능으로 포함되었다.이 기능으로 개발자는 접근자 메서드들을 자동으로 생성하라고 컴파일러에 알려줄 수 있다.프로퍼티는 점(.) 문법이라는 새로운 방법을 제공한다.점 문법 덕분에 클래스에 저장된 데이터에 접근하는 방법이 좀 덜 장황해졌다. -@interface EOCPerson : NSObject{@public NSString *_firstName; NSString.. 2017. 7. 27.
반응형