我想在我从计算机(计算机中的文件夹名称:Assets)直接拖动到xcode项目的文件夹中填充包含图像的数组。
这是我为此写的代码......
NSArray *dataArray = [[NSArray alloc]init];
NSString *sourcePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Assets"];
NSLog(@"%@ SOURCE PATH",sourcePath);
NSError *error;
dataArray = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:sourcePath error:&error];
NSLog(@"error %@", error);
NSLog(@"%lu",(unsigned long)[self.dataArray count]);
但是当我编译并运行应用程序时。该文件夹不是在应用程序包中创建的,其中的图像就在文件夹外的应用程序包中。并且文件夹Assets不会在应用包中创建。
我得到的错误是:
错误错误Domain = NSCocoaErrorDomain Code = 260“操作无法完成。(Cocoa错误260.)”UserInfo = 0x7fbc4af19700 {NSFilePath = / Users / prajeetshrestha / Library / Developer / CoreSimulator / Devices / 32774E43-6CAC- 4091-B642-3001513F578A / data / Containers / Bundle / Application / E932A108-D07F-4985-A58D-2D3101F52D6A / TestPullData.app / Assets,NSUserStringVariant =( 夹 ),NSUnderlyingError = 0x7fbc4ad3ee90“操作无法完成。没有这样的文件或目录”}
Xcode中的文件夹结构: http://i62.tinypic.com/mvgr4z.png
App Bundle中的文件夹结构: http://i57.tinypic.com/34gsg3d.png
答案 0 :(得分:1)
试试这样:
第1步:直接在项目中创建文件夹&通过选择创建文件夹参考
将其拖动到项目中
第2步:现在尝试使用此代码
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *path = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Assets"];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error = [[NSError alloc] init];
NSArray *dataArray = [fileManager contentsOfDirectoryAtPath:path error:&error];
NSLog(@"dataArray = %@", dataArray);
}