Я застреваю, и это заставляет меня сходить с ума. У меня есть функция, которая возвращает NSManagedObject:Листинг NSManagedObject для экземпляра класса
let getaccount = AccountModel.getFirst(globals.managedObjectContext)
, и я должен бросить его в его сгенерированного представления Account
Я сделаю это:
dump("--------------------")
dump(getaccount)
dump("--------------------")
if let acc = getaccount as? Account {
print("OK")
} else {
print("not convertable ")
}
dump("*********************")
И выход ИЗ MY UNITTEST выглядит следующим образом:
- --------------------
▿ Ticketstream.Account
▿ Some: Coredataexampleapp.Account #0
▿ super: <Coredataexampleapp.Account: 0x138d85f90> (entity: Account; id: 0x1398a9fe0 <x-coredata://06F96EF3-96A6-4C32-A6A2-F16BCB8318EA/Account/p1> ; data: {
active = 0;
avatar = (
);
config = (
);
createdAt = "2015-07-31 23:34:58 +0000";
displayName = "My Account (1)";
host = localhost;
lastUpdatedDate = "2015-07-31 23:34:58 +0000";
password = nil;
port = 8080;
schema = HTTPS;
username = "";
})
- NSObject: <Coredataexampleapp.Account: 0x138d85f90> (entity: Account; id: 0x1398a9fe0 <x-coredata://06F96EF3-96A6-4C32-A6A2-F16BCB8318EA/Account/p1> ; data: {
active = 0;
avatar = (
);
config = (
);
createdAt = "2015-07-31 23:34:58 +0000";
displayName = "My Account (1)";
host = localhost;
lastUpdatedDate = "2015-07-31 23:34:58 +0000";
password = nil;
port = 8080;
schema = HTTPS;
username = "";
})
- --------------------
not convertable
- *********************
Как отличить NSManagedObject в Учет?
мне это нужно, потому что я не могу получить первый счет иначе:
class func getFirst(context: NSManagedObjectContext) -> NSManagedObject? {
let request = NSFetchRequest(entityName: accountEntityName)
request.fetchLimit = 1
let list: NSArray = try! context.executeFetchRequest(request)
return list.firstObject as? NSManagedObject
}
Я попытался это с NSManagedObject, AnyObject и счетами ... Как я могу получить первый счет право путь?
UPDATE: В нормальном эксплуатационном режиме: все отлично! Я получаю:
- --------------------
OK
- *********************
Но не из моих тестов :-(
Спасибо за вашу помощь, я потерял
Не проблема, что модель управляемых объектов относится к целевой теме приложения, а не к целевой цели? – matt
Я проверил это несколько раз. К сожалению нет. –
@PeterShaw: В этой ветке http://stackoverflow.com/questions/25076276/unable-to-find-specific-subclass-of-nsmanagedobject есть некоторые ответы, связанные с модульным тестированием (например, отметьте подкласс управляемого объекта с помощью '@objc (EntityName). –