NSURLSessionTask ne peut en effet pas ajouter de catégorie, ce qui est un peu similaire au problème de "ne peut pas être hérité". Généralement, il existe plusieurs idées lorsque vous rencontrez ce genre de problème. Vous pouvez voir si cela peut être utilisé pour votre entreprise :
La combinaison remplace l'héritage, définissez un NSURLSessionTaskWrapper, qui a un attribut qui est la tâche, et vous pouvez ajouter tous les autres attributs et méthodes que vous souhaitez utiliser wrapper.task directement pour la partie qui utilise la tâche, ou vous pouvez ; écrivez une méthode pour le transmettre. Par exemple
Bien sûr, vous pouvez contrôler votre propre code wrapper.task, mais vous ne pouvez pas contrôler le code du système, donc je ne sais pas si vous pouvez l'utiliser pour votre entreprise.
Utilisez le runtime pour ajouter des attributs et des méthodes. Cela peut résoudre le problème ci-dessus de "ne pas pouvoir contrôler le code du système". Après avoir utilisé le runtime pour le modifier, cette classe aura ces attributs et méthodes aux yeux du système. Mais je ne peux pas ajouter de catégorie. Je ne sais pas si le runtime fonctionne.
Stockage externe. Découvrez si la sessionTask a un attribut pouvant être utilisé comme identifiant unique, puis écrivez une classe SessionTaskManager. Les méthodes nouvellement ajoutées sont placées dans cette classe de gestionnaire. Pour les attributs nouvellement ajoutés, le gestionnaire peut enregistrer un dictionnaire avec l'identifiant de. la sessionTask comme clé. Plus précisément, l'attribut est une valeur et, si nécessaire, il est accessible en fonction de l'identifiant.
Voici plusieurs idées couramment utilisées. Vous pouvez voir si elles sont applicables à votre entreprise~
pour les raisons mentionnées par http://stackoverflow.com/a/35359533
Pour certaines raisons, veuillez ne pas ajouter une seule catégorie au fichier. Les raisons détaillées peuvent être consultées sur https://developer.apple.com/library/mac/qa/qa1490/_index.html.
NSURLSessionTask ne peut en effet pas ajouter de catégorie, ce qui est un peu similaire au problème de "ne peut pas être hérité". Généralement, il existe plusieurs idées lorsque vous rencontrez ce genre de problème. Vous pouvez voir si cela peut être utilisé pour votre entreprise :
La combinaison remplace l'héritage, définissez un NSURLSessionTaskWrapper, qui a un attribut qui est la tâche, et vous pouvez ajouter tous les autres attributs et méthodes que vous souhaitez utiliser
wrapper.task
directement pour la partie qui utilise la tâche, ou vous pouvez ; écrivez une méthode pour le transmettre. Par exempleBien sûr, vous pouvez contrôler votre propre code
wrapper.task
, mais vous ne pouvez pas contrôler le code du système, donc je ne sais pas si vous pouvez l'utiliser pour votre entreprise.Utilisez le runtime pour ajouter des attributs et des méthodes. Cela peut résoudre le problème ci-dessus de "ne pas pouvoir contrôler le code du système". Après avoir utilisé le runtime pour le modifier, cette classe aura ces attributs et méthodes aux yeux du système. Mais je ne peux pas ajouter de catégorie. Je ne sais pas si le runtime fonctionne.
Stockage externe. Découvrez si la sessionTask a un attribut pouvant être utilisé comme identifiant unique, puis écrivez une classe SessionTaskManager. Les méthodes nouvellement ajoutées sont placées dans cette classe de gestionnaire. Pour les attributs nouvellement ajoutés, le gestionnaire peut enregistrer un dictionnaire avec l'identifiant de. la sessionTask comme clé. Plus précisément, l'attribut est une valeur et, si nécessaire, il est accessible en fonction de l'identifiant.
Voici plusieurs idées couramment utilisées. Vous pouvez voir si elles sont applicables à votre entreprise~
.Mis à jour à 21:29:15, le 3 juin 2016
Le questionneur peut voir si le code ci-dessus peut répondre à l'exigence.