我正在使用小部件应用程序。我是Today Extension的新手。我想在应用程序和今天的扩展程序之间共享数据。我已经创建了一个数据库。我在该数据库中有4个表。我找到了以下代码来为App Groups创建数据库:
NSString *appGroupId = @"group.appname";
NSURL *appGroupDirectoryPath = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:appGroupId];
dataBaseURL = [appGroupDirectoryPath URLByAppendingPathComponent:@"database.sqlite"];
NSLog(@"dataBaseURL %@", dataBaseURL);
有效。我的SQLite文件已创建。但是它没有显示我的桌子。它显示空数据库。我对此一无所知。请帮忙。
如果您要创建新的数据库,那么显然它将为空。
首先,您可以使用目标c中的表创建数据库。无需从xcode外部创建数据库,也无需将yto拖放到xcode中。您可以为此参考该Techotopia教程。
现在,如果您通过拖放将数据库放入主捆绑包中,则可以像这样访问数据库,
NSString *databasePath = [[NSBundle mainBundle] pathForResource:@"myDbName" ofType:@"sqlite"];
通过这种方式,您可以获得数据库路径。在这里pathforresource是您的数据库名称,我认为database
是您的情况,oftype
也是extention
,我认为sqlite
是您的情况。
现在,如果要在url中获取路径,则将其作为字符串获取,然后可以将其转换为url,例如,
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:filePath];
or
NSURL *fileURL = [NSURL fileURLWithPath:filePath];
希望这会有所帮助:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句