- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 KVO 来跟踪正在接收的文件的进度:
-(void)session:(MCSession *)session didStartReceivingResourceWithName:(NSString *)resourceName fromPeer:(MCPeerID *)peerID withProgress:(NSProgress *)progress
{
NSLog(@"RECEIVING... %@ from peer: %@", progress, peerID);
dispatch_sync(dispatch_get_main_queue(), ^{
[progress addObserver:self
forKeyPath:@"fractionCompleted"
options:NSKeyValueObservingOptionNew
context:NULL];
});}
和
- (void)observeValueForKeyPath:(NSString *)keyPath
ofObject:(id)object
change:(NSDictionary *)change
context:(void *)context
{
if (object == progress) {
// Handle new fractionCompleted value
[progressBar setProgress:progress.fractionCompleted animated:YES];
NSLog(@"Fraction Complete: %@", [NSNumber numberWithDouble:progress.fractionCompleted]);
return;
}
[super observeValueForKeyPath:keyPath
ofObject:object
change:change
context:context];
}
我想用它来更新 UIprogressView...但是代码在这一行崩溃了,我不明白为什么:
[super observeValueForKeyPath:keyPath
ofObject:object
change:change
context:context];
编辑:
这是错误
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '<ViewController1: 0x15b57000>: An -observeValueForKeyPath:ofObject:change:context: message was received but not handled.
编辑:
如果我删除 super observeValueForKeyPath:keyPath...,应用程序不会崩溃,但 NSLog(@"Fraction Complete: %@ 始终报告值“0”。
最佳答案
您的父类(super class)是否实现了 observeValueForKeyPath:ofObject:change:context: ?你可以做一个 if 检查:
if ([super respondsToSelector:@selector(observeValueForKeyPath:ofObject:change:context:){
NSLog(@"Yeah, I'm here matey!");
} else {
NSLog(@"Uh oh said the selector ghost");
}
关于ios - 使用 KVO 跟踪 NSProgress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19623509/
我正在实现NSProgress支持库,我编写了一些单元测试来测试一切是否正常工作。虽然理想情况下我希望能够传递一些额外的元数据( userInfo key 不被 NSProgress 本身使用,但供我
在 AFNetworking 中我找到了这个函数: - (NSURLSessionUploadTask *)uploadTaskWithRequest:(NSURLRequest *)request
我有两个不同的大任务,每个任务都有几个子任务。每个子任务都有一个我手动更新的子 NSProgress。每个大任务都有一个父 NSProgress 和几个 [progress becomeCurrent
我想将属性观察器添加到 NSProgress。我有这段代码,但它只调用了一次。 var progress: NSProgress? { didSet { println
我有一个包含多个子任务的大任务。我想为那个大任务添加进度报告。 为此,我想使用 NSProgress,根据类文档,我可以通过使用它的子-父机制来完成这种子任务进度。 为了简化它,假设我有一个包含一个子
我正在试验 NSProgress,发现后台线程上的一个简单循环会导致内存快速增长: class Worker { var progress:NSProgress? func doWor
我正在尝试使用 Alamofire 下载文件,但有进展。但我在 progress 行收到此错误。 无法调用非函数类型“NSProgress”的值 有什么问题?我见过的所有例子,即 the offici
我使用 [manager downloadTaskWithRequest:request Progress:&progress destination:^NSURL *(NSURL *targetPa
NSProgress允许用户取消或恢复工作。您可以通过调用 pause 来暂停 NSProgress 对象。 如何恢复暂停的 NSProgress 对象? NSProgress 的文档实际上并未提及恢
假设我有一些 NSProgress 对象的层次结构。为简单起见,假设有 2 个 child 的 root progress。如果进度已经开始,我可以向层次结构添加另一个子进度并期望正确的事情发生吗?例
我正在尝试使用 AFNetworking 和 NSProgress 跟踪我的 HTTP 请求的进度。基本上,我的请求是一个包含文本参数和图像数据的多部分表单数据,所有这些都在一个 block 中。 这
根据documentation for NSProgress我看到 -[NSProgress localizedAdditionalDescription] 可以报告下载速度和剩余时间,例如: 1.6
我正在使用 KVO 来跟踪正在接收的文件的进度: -(void)session:(MCSession *)session didStartReceivingResourceWithName:(NSSt
(void)URLSession:(NSURLSession *)session 任务:(NSURLSessionTask *)任务didSendBodyData:(int64_t)bytesSent
我正在使用 AFNetworking 3.1.0 并且GET:parameters:success:failure 已弃用,因此我想使用 GET:parameters:progress:success
我已经使用乘数连接从循环中为连接的对等点实现了文件发送功能。即代码如下。 for connectedPeer in self.connectedPeers { let sendingPr
我有这个观察者,我正在尝试以这种方式更新我的 UIProgressView: - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(
我使用 NSProgress 来通知复杂任务的进度(该任务由许多子任务组成,可以由其他子任务组成)。 我在 startTask 方法中创建主要进度: - (void)_startTask {
我又回来了蜂群思维! 在我的 ViewController 类中,我有一个函数可以循环访问数组中的一系列项目。我想要发生的是在循环的每次迭代中更新我的进度条,但它似乎在完成整个循环并退出我的函数之前不
我目前正在使用 owncloud iOS SDK将文件上传到我的私有(private)云。我正在尝试引入 Key-Value 观察机制 provided in this example到 swift
我是一名优秀的程序员,十分优秀!