Я пишу одно приложение A, написанное на Objective-C, которое использует мою другую структуру B, которая также написана на Objective-C. Платформа B имеет некоторые операции, связанные с базой данных. Для выполнения этих операций я пытаюсь использовать DBAccess ORM (http://www.db-access.org/).
В B я создал класс модели, базовым классом которого является DBObject.
@interface SettingsModel : DBObject
- AppDelegate приложения A делегирует протокол DBDelegate, в "-(BOOL) application: didFinishLaunchingWithOptions:" устанавливает делегат "[DBAccess setDelegate:self]; сильный>"
- В B есть класс EnvironmentManager, который задает имя базы данных в своем методе init. [DBAccess openDatabaseNamed:@"dbname"];
- Объект EnvironmentManager создается из метода viewDidLoad ViewController'а A.
- Теперь я пытаюсь сохранить и получить данные из методов viewController A.
Когда я запускаю приложение A с открытыми методами сохранения и извлечения, метод извлечения дает мне сохраненные данные. Но если я прокомментирую раздел сохранения данных и запущу A, то предыдущие данные не будут получены.
- Можно ли использовать инфраструктуру DBAccess из другой структуры?
- Если возможно, то, пожалуйста, помогите мне понять проблему из моего описания выше.
РЕДАКТИРОВАТЬ:
Я пробовал некоторые другие варианты, которые обсуждаются в разделе комментариев @Adrian_H. У меня есть один и тот же путь как в A, так и в B, используя
NSURL *applicationCachesDirectory = [[[NSFileManager defaultManager] URLsForDirectory:NSCachesDirectory inDomains:NSUserDomainMask] lastObject];
NSLog(@"%@",[applicationCachesDirectory path]);