在我的IOS应用程序中,我有一个abc.xml
文件,通过它我可以获取数据并在屏幕上显示(我已经完成了这个,这没有问题),我的问题是,点击按钮我想要将任何.xml文件上传到我的应用程序(我的ipad中有一些.xml文件),并希望用.xml
文件替换abc.xml
文件,(然后我将通过新上传的文件获取数据) )
就像网络中的“选择文件”选项
我们可以使用Objective-C在iOS应用中执行此操作吗?
答案 0 :(得分:0)
iOS使用.plist
设置配置文件。我不知道这会有多好用,但你可以尝试一下这样的东西......
NSMutableDictionary *abcDict = [NSMutableDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"abc" fileType:@"xml"]];
NSString *someString = (NSString*)[abcDict valueForKey:@"someString"];
NSNumber *someNumber = (NSNumber*)[abcDict valueForKey:@"someNumber"];
NSDictionary *someDictionary = (NSDictionary*)[abcDict valueForKey:@"someDict"];
NSArray *someArray = (NSArray*)[abcDict valueForKey:@"someArray"];
BOOL *someBoolean = [((NSNumber*)[abcDict valueForKey:@"someBool"]) booleanValue]
只需根据您的数据类型更改代码即可。 BOOL
有点奇怪,但其他一切都是这样编写的。使用正确的密钥名称,如果XML不起作用,请尝试将.plist
文件插入您的应用程序!
答案 1 :(得分:0)
如果我明白你想要什么,这应该成功。
NSURL *url = [NSURL URLWithString:linkURL];
NSData *urlData = [NSData dataWithContentsOfURL:url];
if ( urlData )
{
BOOL success = [db writeToFile:@"locationOfTheFile" atomically:YES];
if (success) {
//all went well
}else{
//error
}
}
编辑: 如果文件位于应用程序的根目录下,则可以使用此方法获取路径。
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask, YES);
NSString *documentsDir = [paths objectAtIndex:0];
BOOL success = [db writeToFile:[documentsDir stringByAppendingPathComponent:@"fileName"];