UIFIleSharing填充UIPickerView

时间:2014-06-22 10:12:49

标签: arrays uipickerview

我是该网站的新用户,甚至可能更新应用程序开发,但我慢慢学习.. lol

所以我遇到了我的第一个大问题,我已经在网上进行了全面的研究,无法找到我想要的东西,所以我们走了。

我正在创建一个应用程序,该应用程序调用一些用户输入的文件,这些文件可以并且偶尔会更改。我为此添加了UIFileSharing选项,因此用户可以通过iTunes上传文件。

需要使用3种不同类型的文件a .opt, a .pkg, and a .txt

有什么方法可以从目录中获取文件,读取它们,并根据文件扩展名拉出它们并在UIPickerView轮中使用它们?我真的很陌生,所以当我要求你具体时,请原谅我。

我的假设是通过几个步骤完成此操作,首先读取文件并对它们进行排序,然后根据扩展名将它们放在一个数组中,然后使用所述数组填充选择器,并获取数量的计数行等..

我想接下来的两个部分非常简单,只需设置一个选择器来使用数组,我只需要知道是否可以根据用户加载的文件构建该数组。

提前感谢,

2 个答案:

答案 0 :(得分:0)

您需要使用UIDocumentInteractionController类。

简单示例

 UIDocumentInteractionController * controller;
NSURL *fileURL=[NSURL fileURLWithPath:[self getFilePath]]
controller = [ UIDocumentInteractionController interactionControllerWithURL: fileURL ];

//如何从文档目录中获取文件

-(NSString *)getFilePath{
    NSString *documentPath= [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0];
    return [documentPath stringByAppendingPathComponent:@"Your file name"]
}

答案 1 :(得分:0)

我解决了它们,感谢所有的帮助..代码如下,对任何感兴趣的人。别忘了定义阵列!

NSArray *paths =  NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);

NSString *documentsPath = [paths objectAtIndex:0];

NSFileManager *fileManager = [NSFileManager defaultManager];

NSArray *bundleDirectory = [fileManager contentsOfDirectoryAtPath:documentsPath error:nil];

NSPredicate *Option = [NSPredicate predicateWithFormat:@"self ENDSWITH '.opt'"];
_OptionArray = [bundleDirectory filteredArrayUsingPredicate:Option];

_OptionPickerData = [_OptionArray copy];