web-dev-qa-db-fra.com

Swift 3: sous-classe NSObject ou non?

J'ai lu des articles tels que celui-ci sur la différence entre le sous-classement NSObject dans Swift ou simplement le fait d'avoir sa base native class sans sous-classement. Mais ils sont tous un peu anciens et je ne suis pas clair sur ce sujet.

Quand devriez-vous sous-classer NSObject? Quelle est la différence réelle entre sous-classer et ne pas sous-classer? Quelle est actuellement la recommandation dans Swift?

9
AppsDev

Une raison de sous-classer NSObject est si vous devez enregistrer certaines données. NSObject et tout ce que cela implique reste (AFAIK) le moyen le plus simple d’obtenir le NSCoding que vous devez écrire dans un fichier. 

quelques idées peuvent être trouvées ici ou ici

1
ArtbyKGH

Vous devez également utiliser la sous-classe NSObject pour que votre sous-classe soit un observateur du KVO, c'est-à-dire.

addObserver(_ observer: NSObject, forKeyPath keyPath: String, options: NSKeyValueObservingOptions = [], context: UnsafeMutableRawPointer?)

nécessite que l'observateur soit une NSObject (ou un tableau ou un ensemble).

0
strangetimes