У меня есть Базовая Модель данных, где у меня есть объект A, который является кратким обзором. Объекты B, C, и D наследовались объекту A. Существует несколько свойств, определенных в объекте, которые используются B, C, и D.
Я хотел бы усилить это наследование в своем типовом кодексе. В дополнение к свойствам я задаюсь вопросом, могу ли я добавить методы к объекту A, которые реализованы в, он - подобъекты.
Например:
executeFetchRequest:
получать все экземпляры BЯ попробовал это, но при вызове метода, я получаю:
[NSManagedObject methodName:]: нераспознанный селектор отправляется в экземпляр
Я предполагаю, что это вызвано тем, что объекты, возвращенные executeFetchRequest:
какие-то объекты прокси.
Там какой-либо путь состоит в том, чтобы усилить наследование с помощью, разделил NSManagedObjects на подклассы?
Я действительно хотел бы иметь возможность сделать это, иначе мой типовой кодекс будет ответственен за определение, с каким NSManagedObject он имеет дело, и выполните специальную логику согласно типу, который является нежелательным.
Любая справка ценится, заранее спасибо.
Это должно работать. Объекты, возвращаемые ExecuteFethRequest:
являются реальными экземплярами nsmanageObject
s (или их подклассов.)
Шаги для использования пользовательских классов в Coredata следующие. Скажем, у вас есть субъекты A и B, где B наследует от А.
Затем вам нужны два пользовательских класса как
@interface A:NSManagedObject{
}
-(void)someMethod:(NSString*)a;
@end;
@interface B:A{
}
-(void)someMethod:(NSString*)a;
@end;
, а затем установите их в моделизере XCode Data Modeler, как показано:
таким образом, COREDATA автоматически назначает правильный класс в NsmanageObject
, когда он получен из базы данных Отказ
Как и говорил роман, можно создать пользовательский javascript-объект, реализующий GOverlay .
Вот пример из другого вопроса S.O., где парень хотел вставить SVG поверх карты Google. Однако я почти уверен, что вы могли бы использовать его решение, чтобы просто вставить HTML.
Как наложить диаграммы SVG на Google Maps?
-121--4378861-Сначала преобразуйте текст, ключ и вектор инициализации в байты с помощью выбранной кодировки. Тогда используйте тройной поставщик DES, как показано здесь:
http://msdn.microsoft.com/en-us/library/system.security.cryptography.tripledes.aspx
Или тот, который для AES, если вы считаете тройной DES слишком старой школы, или что угодно.
Из любопытства, как вы планируете передавать секретный ключ?
-121--2774038- Если вы получаете это исключение, это означает, что Core Data не использует пользовательский класс. Ключ здесь - NSManagedObject
- это объект Core Data, созданный для объектов в хранилище данных.
Если вы еще не создали класс, наследующий от NSManagedObject
, добавьте туда пользовательские методы, а затем задайте сущность A
для использования пользовательского класса в инструменте объектной модели. Если объекты B
, C
, D
и т.д. имеют определенное поведение, следует подкласс, созданный для объекта A
, и назначить эти объекты для использования подклассов.
По сути, у вас параллельная иерархия: одна иерархия сущностей, а другая - классов. Вероятно, для каждой сущности в объектной модели будут использоваться сущность X
и класс X
.