gpt4 book ai didi

ios - 自定义委托(delegate)未从 NSURLSessionDelegates 调用

转载 作者:行者123 更新时间:2023-11-29 00:36:00 26 4
gpt4 key购买 nike

我正在使用 NSURLSession 进行服务集成。将图像上传到服务器时,我想显示已上传到服务器的数据百分比。为此,我在我的服务模型类中创建了一个自定义委托(delegate),并在 NSURLSession 的委托(delegate)中调用该委托(delegate)。请在下面检查我的代码。

-(void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didSendBodyData:(int64_t)bytesSent totalBytesSent:(int64_t)totalBytesSent totalBytesExpectedToSend:(int64_t)totalBytesExpectedToSend {
NSLog(@" %lld %lld %lld %lu", bytesSent , totalBytesSent,totalBytesExpectedToSend,(unsigned long)task.taskIdentifier);

float dataSent = (totalBytesSent/totalBytesExpectedToSend);

NSLog(@"sent percentage : %0.2f",(dataSent * 100));
dispatch_async(dispatch_get_main_queue(), ^{

//_delegate is my custom delegate
[_delegate updateUploadedDataInfo:dataSent];
});
}

但是,[_delegate updateUploadedDataInfo:dataSent] 方法没有在这里调用。请建议,我在哪里做错了。

最佳答案

只需将您的服务模型对象添加为委托(delegate)即可。例如,假设您的服务模型类是 MyModel,并且您发布的代码位于另一个类 MyDownloader 中。在您的 MyModel 类中添加:

MyDonlowder *downlowder = [[MyDownloader alloc] init];
downlowder.delegate = self;

还要使您的 MyModel 类符合 MyCystomDelegateProtocol 并实现所需的方法 updateUploadedDataInfo

关于ios - 自定义委托(delegate)未从 NSURLSessionDelegates 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40613165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com