Вы не должны проверять возможность повторного использования на каждую минуту или периодически. Это не хорошая практика, это снижает производительность приложения.
Вы можете получать уведомления об изменении характеристик. поэтому, когда rechabilty изменение, которое вы можете выполнить задачу
Вы можете сделать что-то вроде этого,
Вы должны создать Reachability
объект, прежде чем вы можете получать уведомления от него. Кроме того, обязательно вызовите метод startNotifier()
на созданном вами объекте Reachability
. Это будет примером того, как сделать это внутри ваше приложение делегата:
class AppDelegate: UIResponder, UIApplicationDelegate
{
private var reachability:Reachability!;
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool
{
NSNotificationCenter.defaultCenter().addObserver(self, selector:"checkForReachability:", name: kReachabilityChangedNotification, object: nil);
self.reachability = Reachability.reachabilityForInternetConnection();
self.reachability.startNotifier();
}
func checkForReachability(notification:NSNotification)
{
// Remove the next two lines of code. You cannot instantiate the object
// you want to receive notifications from inside of the notification
// handler that is meant for the notifications it emits.
//var networkReachability = Reachability.reachabilityForInternetConnection()
//networkReachability.startNotifier()
let networkReachability = notification.object as Reachability;
var remoteHostStatus = networkReachability.currentReachabilityStatus()
if (remoteHostStatus.value == NotReachable.value)
{
println("Not Reachable")
}
else if (remoteHostStatus.value == ReachableViaWiFi.value)
{
println("Reachable via Wifi")
}
else
{
println("Reachable")
}
}
}
Вы можете скачать класс достижимости из Apple Documentation
Надеется, что это поможет :)
Проверьте подключение к Интернету, когда вы вызываете API, другие пожелания, которые вам не нужны. –
Вы можете добавить наблюдателя. –
@RichardG - я добавил наблюдателя, но я не включил его, но все же он проверяет только один раз. –