【发布时间】:2018-07-18 03:49:44
【问题描述】:
将我的项目转换为 ARC,但在上传和下载文件时需要这两段代码的帮助:
- (void)connection:(NSURLConnection *)connection didSendBodyData:(NSInteger)bytesWritten totalBytesWritten:(NSInteger)totalBytesWritten totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite{
[delegate performSelector:progressSelector withObject:(id)(100*totalBytesWritten /totalBytesExpectedToWrite)];
然后是下面的代码,特别是最后一行:
- (void)connection:(NSURLConnection *)con // IN
didReceiveData:(NSData *)data // IN
{
NSLog(@"%s: self:0x%p\n", __func__, self);
NSInteger dataLength;
const uint8_t * dataBytes;
NSInteger bytesWritten;
NSInteger bytesWrittenSoFar;
dataLength = data.length;
dataBytes = (const uint8_t * )data.bytes;
bytesWrittenSoFar = 0;
if(fileStream!=NULL)
{
do {
NSLog(@"%d",(int)bytesWrittenSoFar);
bytesWritten = [fileStream write:&dataBytes[bytesWrittenSoFar] maxLength:dataLength - bytesWrittenSoFar];
assert(bytesWritten != 0);
if (bytesWritten == -1)
{
[self downloadSucceeded:NO];
break;
}
else
{
bytesWrittenSoFar += bytesWritten;
}
}
while (bytesWrittenSoFar != dataLength);
}
dataSize+=data.length;
if(dataSize==downloadSize)
{
downloadDidSucceed=TRUE;
}
[delegate performSelector:progressSelector withObject:(id)(long)(100*dataSize/downloadSize)];
}
感谢任何帮助
【问题讨论】:
-
欢迎来到 Stack Overflow!您能否详细说明您的代码如何“不起作用”?你期待什么,实际发生了什么?如果您遇到异常/错误,请发布它发生的行和异常/错误详细信息。请edit这些详细信息,否则我们可能无法提供帮助。
标签: ios objective-c memory-management