beginBackgroundTaskWithExpirationhandler
Je fais une application où la lecture se fait en arrière-plan. Dans le code suivant, bgTask est non déclaré. De quel type d'objet doit bgTask être?
- (void)applicationDidEnterBackground:(UIApplication *)application
{
UIApplication *app = [UIApplication sharedApplication];
bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
[app endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
}];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{});
[app endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
}
veuillez formater votre code dans le droit chemin.
ok monsieur.........
ok monsieur.........
OriginalL'auteur sidhu | 2010-10-06
Vous devez vous connecter pour publier un commentaire.
Vous devez déclarer bgTask avant d'attribuer:
merci. Je veux une fessée à moi à chaque fois que je lis un de ces vagues docs écrits par Apple (~90% de leurs docs). Ils devraient embaucher des gens qui savent écrire des docs.
Vous souhaitez donner la fessée à vous-même..?
J'ai essayé ce code avec une minuterie, mais minuteur s'arrête après la ronde 10 minutes comment puis-je continuer dans un temps long
Juste pour préciser, il convient de
UIBackgroundTaskIdentifier bgTask = 0;
puisque c'est unNSUInteger
.OriginalL'auteur willcodejavaforfood
Je ne peux pas commenter sur les réponses précédentes, cependant pour initialiser UIBackgroundTaskIdentifier vous ne devriez pas régler à néant, ou 0. Vous devez le régler à:
Dans le la documentation UIBackgroundTaskInvalid dit qu'il devrait être utilisé pour initialiser des variables ou pour vérifier les erreurs.
UIBackgroundTaskInvalid = 0x0000000000000000
. Même chose.croyez-moi, vous ne voulez pas des numéros de magie dans votre code. Stick à des constantes fournies par l'API.
OriginalL'auteur Bontarest
Vous utilisez le bgTask dans le bloc de sorte que vous devez le déclarer comme ceci..
__block
permettra à cette variable à utiliser dans la méthode des blocs. Et son double caractère de soulignement.OriginalL'auteur Dilip