Il existe quelques différences entre les deux. objc_msgSend (sendMessage:) est dû au fait que la méthode est appelée sur l'objet publié.
se capturer fortement dans ce bloc est susceptible de conduire à un cycle de rétention empêchera la libération de l'objet créé. Par exemple, chaque fois que vous entrez un vc, celui-ci est nouvellement créé. Le bloc en vc a une forte référence à soi. Cela empêchera la publication de ce vc. Un nouveau vc sera créé à chaque fois que vous entrerez, et l'ancien vc existera toujours. Finalement, l'application sera effacée par le système car elle occupe trop de mémoire.
Cela provoquera une fuite de mémoire, mais le fait que cela provoque un crash dépend de la situation. Par exemple, un certain VC a enregistré une notification, mais en raison d'une référence circulaire, elle n'a pas été publiée correctement. Après cela, la notification a été publiée ailleurs, alors le VC effectuera l'opération correspondante, peut-être si l'opération fait l'objet. a été publié, il peut planter. Il est difficile de localiser des erreurs comme votre libobjc.A.dylib objc_msgSend (sendMessage :). Vous devriez voir s'il y a d'autres informations, comme quelque chose de similaire à ceci :
Il existe quelques différences entre les deux.
objc_msgSend (sendMessage:) est dû au fait que la méthode est appelée sur l'objet publié.
se capturer fortement dans ce bloc est susceptible de conduire à un cycle de rétention
empêchera la libération de l'objet créé.
Par exemple, chaque fois que vous entrez un vc, celui-ci est nouvellement créé. Le bloc en vc a une forte référence à soi.
Cela empêchera la publication de ce vc. Un nouveau vc sera créé à chaque fois que vous entrerez, et l'ancien vc existera toujours. Finalement, l'application sera effacée par le système car elle occupe trop de mémoire.
C'est possible, mais peu probable, mais la référence circulaire doit être supprimée.
Cela provoquera une fuite de mémoire, mais le fait que cela provoque un crash dépend de la situation.
Par exemple, un certain VC a enregistré une notification, mais en raison d'une référence circulaire, elle n'a pas été publiée correctement. Après cela, la notification a été publiée ailleurs, alors le VC effectuera l'opération correspondante, peut-être si l'opération fait l'objet. a été publié, il peut planter.
Il est difficile de localiser des erreurs comme votre libobjc.A.dylib objc_msgSend (sendMessage :). Vous devriez voir s'il y a d'autres informations, comme quelque chose de similaire à ceci :
Vous pouvez essayer d'utiliser Fabric.