Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.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 NSData发送至NSUrl和viceversa_Ios - Fatal编程技术网

Ios NSData发送至NSUrl和viceversa

Ios NSData发送至NSUrl和viceversa,ios,Ios,我正在使用MultiPier连接发送文件。当我发送它时,它是以NSData的形式存在的,但是该方法需要NSUrl,在接收文件时也是如此。设备接收NSUrl,我必须将其转换为NSData。因此: NSdata=>NSUrl。。。。。。。。NSUrl=>NSData 对于第一个(NSData到NSUrl),我尝试了以下方法: (一) (二) 最后,我可以发送url: [session sendResourceAtURL:urlData withName:@"Resource" toPeer:peer

我正在使用MultiPier连接发送文件。当我发送它时,它是以NSData的形式存在的,但是该方法需要NSUrl,在接收文件时也是如此。设备接收NSUrl,我必须将其转换为NSData。因此:

NSdata=>NSUrl。。。。。。。。NSUrl=>NSData

对于第一个(NSData到NSUrl),我尝试了以下方法:

(一)

(二)

最后,我可以发送url:

[session sendResourceAtURL:urlData withName:@"Resource" toPeer:peerID withCompletionHandler:nil];
第二,我要:

NSData* data = [NSData dataWithContentsOfURL:localURL options:NSDataReadingUncached error:&error];

…但有时应用程序会崩溃,当我试图发送更大的文件时就会发生这种情况。我认为这是因为系统写文件需要时间,而且如果我需要再次“保存”文件,整个过程将花费更长的时间。有没有一种更快更安全的方法???

你对崩溃做了什么调试-它发生在代码中的什么地方等?它说localUrl为零如果你在类型之间进行转换,你应该输入NSAssert(BOOL条件,要打印的字符串);并确保内容已成功转换。您可以通过查看内容是否为nil aka NSAssert(localUrl!=nil,@“localUrl不应为nil,localUrl无法从字符串创建”)来测试命中率;
[session sendResourceAtURL:urlData withName:@"Resource" toPeer:peerID withCompletionHandler:nil];
NSData* data = [NSData dataWithContentsOfURL:localURL options:NSDataReadingUncached error:&error];