我有以下代码检查我的应用程序的连接性。我想在连接状态发生变化时滑入的自定义UIView上的UILabel中显示连接状态。
[编辑]
__block NSString * strConnectivityStatus = @"";
[[AFNetworkReachabilityManager sharedManager] startMonitoring];
[结束编辑]
[[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
NSLog(@"Reachability: %@", AFStringFromNetworkReachabilityStatus(status));
strConnectivityStatus = AFStringFromNetworkReachabilityStatus(status);
switch (status) {
case AFNetworkReachabilityStatusReachableViaWWAN:
viewConnectivityStatus.hidden = false;
lblConnectivityStatus.text = AFStringFromNetworkReachabilityStatus(status);
case AFNetworkReachabilityStatusReachableViaWiFi:
viewConnectivityStatus.hidden = false;
lblConnectivityStatus.text = AFStringFromNetworkReachabilityStatus(status);
break;
case AFNetworkReachabilityStatusNotReachable:
viewConnectivityStatus.hidden = false;
lblConnectivityStatus.text = AFStringFromNetworkReachabilityStatus(status);
default:
viewConnectivityStatus.hidden = false;
lblConnectivityStatus.text = AFStringFromNetworkReachabilityStatus(status);
break;
}
}];
然后我调用我的自定义UIView滑入到位:
OLSlidingMessageVC *msgConnectivityVC = [[OLSlidingMessageVC alloc] initWithTitleAndPosition:@"STATUS" message:strConnectivityStatus msgHeight:&viewHeight msgWidth:&viewWidth msgXPos:&viewXPos msgYPos:&viewYPos];
但是strConnectivityStatus总是空白的,因为我无法在块之外访问它的值。
如何让我的UIView上的UILabel显示状态?
答案 0 :(得分:0)
然后不会同步调用块,因此{}不会在块外的任何位置设置strConnectivityStatus
。
只需在块中创建strConnectivityStatus
局部变量,然后在块内执行任何操作。