このコードを使用して、NSProgress の変化する数値を追跡しています。
[progress addObserver:self forKeyPath:kProgressCancelledKeyPath options:NSKeyValueObservingOptionNew context:NULL];
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
NSProgress *progress = object;
NSLog(@"PROG: %f", progress.fractionCompleted);
// Check which KVO key change has fired
if ([keyPath isEqualToString:kProgressCancelledKeyPath]) {
// Notify the delegate that the progress was cancelled
}
else if ([keyPath isEqualToString:kProgressCompletedUnitCountKeyPath]) {
// Notify the delegate of our progress change
NSLog(@"PROG: %f", progress.fractionCompleted);
if (progress.completedUnitCount == progress.totalUnitCount) {
// Progress completed, notify delegate
NSLog(@"PROG: %f", progress.fractionCompleted);
}
}
}
これは私が得るものです:
<NSProgress: phase=Loading; state=Waiting; fractionCompleted=0.000000> from peer: <MCPeerID: 0x14e1f220 DisplayName = alessandro's iPod touch-593288>
さらに注目。分数が完了した進行状況ビューを使用したかったのですが、値が得られません。NSlog PROG が呼び出されることはありません...