Бесплатные мосты - PullRequest
       23

Бесплатные мосты

31 голосов
/ 30 апреля 2009

Как новичок в разработке iPhone и Objective-C в целом за последние несколько недель, я сталкивался с многочисленными упоминаниями «бесплатных мостов» между фреймворками CF и NS.

Одним конкретным примером были бы CFStream и NSStream.

Существует ли ресурс, документирующий все эти мосты и как их использовать? Это так же просто, как приведение объекта одного типа к другому?

Я спрашиваю, поскольку в данный момент я использую вызовы NSStream, которые строго не разрешены в iPhone SDK, и понимаю, что я должен использовать вызовы CFStream.

РЕДАКТИРОВАТЬ: полезная статья о , как работает TFB

Ответы [ 2 ]

37 голосов
/ 30 апреля 2009

Бесплатный мост означает, что структуры данных являются взаимозаменяемыми. Это так же просто, как кастинг - это «бесплатная» часть. В любом месте вы можете использовать тип на одной стороне моста, вы можете использовать другой. Так, например, вы можете создать CFString и затем отправить ему сообщения NSString, или вы можете создать NSArray и передать массив функциям CFArray.

Apple хранит на своем сайте список поддерживаемых бесплатных типов мостов .

4 голосов
/ 30 апреля 2009

Бесплатный звонок, хотя и забавное название, является очень интересной особенностью классов CoreFoundation. По сути, это сводится к тому, что вы можете приводить между классами CoreFoundation и NextStep с одинаковым именем (CFString <-> NSString, CFData <-> NSData, CFDictionary <-> NSDictionary ... просто назвать некоторые из наиболее часто используемых .)

| K <</p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...