31 votes

Ponts à péage

En tant que nouveau venu dans le développement de l'iPhone et de l'Objective-C en général, j'ai rencontré ces dernières semaines de nombreuses mentions de "Toll free bridges" (ponts sans péage) entre les frameworks CF et NS.

Un exemple particulier serait CFStream et NSStream.

Existe-t-il une ressource documentant tous ces ponts et la manière de les utiliser ? Est-ce aussi simple que de passer d'un objet d'un type à un autre ?

Je pose la question car j'utilise actuellement des appels NSStream qui ne sont pas strictement autorisés dans le SDK iPhone et je comprends que je devrais utiliser des appels CFStream.

EDIT : Un article utile sur Comment fonctionne le TFB

37voto

Chuck Points 138930

Le pontage sans péage signifie que les structures de données sont interchangeables. C'est aussi simple que le casting - c'est la partie "sans frais". Chaque fois que vous pouvez utiliser le type d'un côté du pont, vous pouvez utiliser l'autre. Ainsi, par exemple, vous pouvez créer un CFString et lui envoyer des messages NSString, ou vous pouvez créer un NSArray et passer le tableau aux fonctions CFArray.

Apple garde une liste des types de ponts sans frais pris en charge sur son site.

4voto

kent Points 2151

Le pontage sans péage, bien qu'il porte un nom amusant, est une fonctionnalité très intéressante des classes CoreFoundation. Elle se résume essentiellement au fait que vous pouvez effectuer des castings entre les classes CoreFoundation et NextStep du même nom (CFString<->NSString, CFData<->NSData, CFDictionary<->NSDictionary... pour ne citer que quelques-unes des classes les plus utilisées).

|K<

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X