我编写了一个用objective-c编写的应用程序A,它使用了我的另一个框架B,它也是用objective-c编写的。框架B有一些与数据库相关的操作。为了执行这些操作,我尝试使用 DBAccess ORM ( http://www.db-access.org/ )。
在B中,我创建了一个模型类,其基类是 DBObject。
@interface SettingsModel : DBObject
- 应用程序A的AppDelegate委托 DBDelegate 协议,在“ -(BOOL) application: didFinishLaunchingWithOptions: ”中设置委托“ [DBAccess setDelegate:self]; ”
- B中有一个EnvironmentManager类,它在其init方法中设置数据库名称。 [DBAccess openDatabaseNamed:@"dbname"];
- EnvironmentManager 的对象是从A的 ViewController 的viewDidLoad方法创建的。
- 现在我尝试从A的 viewController 方法中保存和检索数据。
当我在打开保存和检索方法的情况下运行应用程序A时,检索方法会为我提供保存的数据。但是,如果我评论保存数据部分并运行 A,则无法检索到以前的数据。
- 是否可以从另一个框架使用 DBAccess 框架?
- 如果可能的话,请帮助我从上面的描述中找出问题所在。
编辑:
我尝试了其他一些选项,在@Adrian_H 回答评论部分进行了讨论。我在A和B中都使用了相同的路径
NSURL *applicationCachesDirectory = [[[NSFileManager defaultManager] URLsForDirectory:NSCachesDirectory inDomains:NSUserDomainMask] lastObject];
NSLog(@"%@",[applicationCachesDirectory path]);