Я установил Core Data Stack с помощью MagicalRecord, используя метод -setupCoreDataStackWithStoreNamed:
.MagicalRecord Не удается получить доступ к свойствам ManagedObject
И я создал DataModel и ManagedObject имени DriverOrder с некоторыми атрибутами и создал подкласс ManagedObject автоматически, как этого
Позже я пишу некоторые коды для создания объекта и попытаться получить доступ объект в классе ViewController.
код так:
- (void)testCoreData {
NSManagedObjectContext *context = [NSManagedObjectContext MR_context];
DriverOrder *order = [DriverOrder MR_createEntityInContext:context];
order.driverId = @"11";
order.orderID = @(2015);
DriverOrder *order2 = [DriverOrder MR_createEntityInContext:context];
order2.driverId = @"15";
order2.orderID = @(2016);
[context MR_saveOnlySelfAndWait];
NSArray *resultArr = [self fetchAllOrder];
for (DriverOrder *theorder in resultArr) {
DDLog(@"%@",theorder);
}
}
- (NSArray *)fetchAllOrder {
NSArray *orders = [DriverOrder MR_findAllSortedBy:@"orderID" ascending:YES];
return orders;
}
ОБНОВЛЕНИЕ:
О подклассу NSManagedObject, то DriverOrder был сгенерирован Xcode автоматически и я не делать ничего об этом классе, он кажется, что это:
//
// DriverOrder.h
//
//
// Created by lynulzy on 10/21/15.
//
//
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
NS_ASSUME_NONNULL_BEGIN
@interface DriverOrder : NSManagedObject
// Insert code here to declare functionality of your managed object subclass
@end
NS_ASSUME_NONNULL_END
#import "DriverOrder+CoreDataProperties.h"
//
// DriverOrder+CoreDataProperties.h
//
//
// Created by lynulzy on 10/21/15.
//
//
// Choose "Create NSManagedObject Subclass…" from the Core Data editor menu
// to delete and recreate this implementation file for your updated model.
//
#import "DriverOrder.h"
NS_ASSUME_NONNULL_BEGIN
@interface DriverOrder (CoreDataProperties)
@property (nullable, nonatomic, retain) NSNumber *orderID;
@property (nullable, nonatomic, retain) NSString *driverId;
@end
NS_ASSUME_NONNULL_END
Когда я построить и запустить приложение, вопросы приходят:
- Каков путь * .sqlite?
- Когда я попытался получить свойство извлеченного объекта, журнал отладка выглядит неправильно и используя метод получения доступа к журналу отладка выглядит следующим образом:
Этот код является беспорядок и нечитаемым. вы хотите, чтобы люди помогали вам, убедитесь, что вы не получаете калечащих сообщений. На боковой ноте: покажите подкласс NSManagedObject для DriverOrder. – Andy
@ Andy Я просто генерирую DriverOrder по Xcode автоматически, и я обновил код в своем описании вопроса. THX – lynulzy