Платные мосты
Как новичок в разработке iPhone и Objective-C в целом за последние несколько недель я столкнулся с многочисленными упоминаниями о "мостах бесплатно" между фреймами CF и NS.
Одним из примеров может быть CFStream и NSStream.
Существует ли ресурс, документирующий все эти мосты и как их использовать? Это так же просто, как литье из объекта одного типа в другой?
Я спрашиваю, как на данный момент я использую вызовы NSStream, которые не разрешены в iPhone SDK, и понимаю, что я должен использовать вызовы CFStream.
EDIT: полезная статья о как работает TFB
Ответы
Ответ 1
Беспроблемное мостовое соединение означает, что структуры данных взаимозаменяемы. Это так же просто, как кастинг - это "бесплатная" часть. В любом месте вы можете использовать тип на одной стороне моста, вы можете использовать другой. Так, например, вы можете создать CFString, а затем отправить ему сообщения NSString или создать NSArray и передать массив в функции CFArray.
Apple хранит список поддерживаемых беспошлинных мостовых типов на своем сайте.
Ответ 2
Безплатный мостик, хотя и смешное имя, является очень интересной особенностью классов CoreFoundation. По сути, это сводится к тому, что вы можете использовать классы CoreFoundation и NextStep с тем же именем (CFString ↔ NSString, CFData ↔ NSData, CFDictionary ↔ NSDictionary... только для обозначения некоторых наиболее часто используемых.)
| К <