Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用ios从s3下载一组文件?_Ios_Ios4_Amazon S3_Ios Simulator_Download - Fatal编程技术网

如何使用ios从s3下载一组文件?

如何使用ios从s3下载一组文件?,ios,ios4,amazon-s3,ios-simulator,download,Ios,Ios4,Amazon S3,Ios Simulator,Download,我已经看到了很多关于这个问题的答案,但是我在实现上遇到了问题,因为文件没有下载 一些背景是我在s3中有一组10个文件。我可以通过S3ListObjectsResult看到它们。然后,我将该结果存储在过滤后的NSMutableArray s3Result中。一切都很好 后来,我真的想下载这些文件,所以我试着这样做: 在.h文件中: @interface MainViewController : UIViewController <AmazonServiceRequestDelegate>

我已经看到了很多关于这个问题的答案,但是我在实现上遇到了问题,因为文件没有下载

一些背景是我在s3中有一组10个文件。我可以通过S3ListObjectsResult看到它们。然后,我将该结果存储在过滤后的NSMutableArray s3Result中。一切都很好

后来,我真的想下载这些文件,所以我试着这样做:

在.h文件中:

@interface MainViewController : UIViewController <AmazonServiceRequestDelegate>
@property (nonatomic, strong) NSMutableArray *s3Objects;
@property (nonatomic, strong) NSMutableArray *s3Results;
这可以很好地编译并正常运行,但“下载”文件的速度太快,无法实际工作,事实上self.s3Objects返回的计数为0

  • 有没有办法在S3端查看调试
  • 在获取文件方面,我做错了什么
  • 这有可能是因为我是在XCode模拟器中完成的吗
  • 编辑: 好的,所以我添加了AWS需要的一些方法,即didCompleteWithResponse、didReceiveData、didFailWithError和didFailWithServiceException

    结果是现在正在下载这些文件(我可以打印response.body并查看数据),但它们没有添加到s3Objects:

    -(void)request:(AmazonServiceRequest *)request didCompleteWithResponse:(AmazonServiceResponse *)response
    {
       [self.s3Objects addObject:[[NSData alloc] initWithData:response.body]];
    }
    

    self.s3Objects的计数始终返回0,即使在此之后也是如此

    我让它工作了。原始问题的答案是实现缺失的AWS方法。第二个问题的答案是我没有初始化s3Objects数组。这样做之后,它工作得很好

    我让它工作了。原始问题的答案是实现缺失的AWS方法。第二个问题的答案是我没有初始化s3Objects数组。这样做之后,它工作得很好

    -(void)request:(AmazonServiceRequest *)request didCompleteWithResponse:(AmazonServiceResponse *)response
    {
       [self.s3Objects addObject:[[NSData alloc] initWithData:response.body]];
    }