gpt4 book ai didi

ios - 使用 Multipeer Connectivity 跟踪 NSProgress 中的变化

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:29:41 25 4
gpt4 key购买 nike

我正在使用多点连接通过蓝牙发送文件。进度存储在名为 Progress 的变量中:

NSProgress* progress;

访问方式是这样的:

progress.fractionCompleted

当数字发生变化时,如何调用方法来更新我的 UIprogressBar?

有一个方法:

-(void)session:(MCSession *)session didStartReceivingResourceWithName:(NSString *)resourceName fromPeer:(MCPeerID *)peerID withProgress:(NSProgress *)progress

{
NSLog(@"RECEIVING... %@ from peer: %@", progress, peerID);

}

但是它只被调用了一次...

最佳答案

你可以在 fractionCompleted 上使用 KVO 之类的东西

    [_progress addObserver:self 
forKeyPath:@"fractionCompleted"
options:NSKeyValueObservingOptionNew
context:NULL];

然后覆盖 observeValueForKeyPath

    - (void)observeValueForKeyPath:(NSString *)keyPath 
ofObject:(id)object
change:(NSDictionary *)change
context:(void *)context
{
if (object == _progress) {
// Handle new fractionCompleted value
return;
}

[super observeValueForKeyPath:keyPath
ofObject:object
change:change
context:context];
}

您可以查看 Matt 博客了解更多详情 http://www.raywenderlich.com/49850/whats-new-in-objective-c-and-foundation-in-ios-7

关于ios - 使用 Multipeer Connectivity 跟踪 NSProgress 中的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19189310/

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