Разница между Foundation Framework и Core Foundation Framework?

Я пытаюсь понять это, но пока оба кажутся мне одинаковыми. Однако Xcode позволяет создавать консольное приложение с выбором "Core Foundation" или просто "Foundation". Может быть, кто-то может указать на различия.

Ответ 1

Core Foundation - это API уровня C, который предоставляет CFString, CFDictionary и т.п.

Foundation - Objective-C, который предоставляет NSString, NSDictionary и т.д.

Ответ 2

CoreFoundation записывается в C, а Foundation записывается в Objective-C;

У фонда гораздо больше классов;

CoreFoundation является общей базой Foundation и Carbon.

Ответ 3

Немного истории

Ссылка: http://ridiculousfish.com/blog/posts/bridge.html

Mac OS 9 и NEXTSTEP объединились для создания Mac OS X. И Core Foundation был создан как общая площадка для классической панели инструментов Mac и OPENSTEP (которая, я считаю, представляет собой набор инструментов для NEXTSTEP).

Classic Mac toolbox развился и стал Carbon.

OPENSTEP развился и стал Cocoa, который включает Foundation.

Итак, я пришел к выводу, что Core Foundation имеет гораздо более длительную историю и является основой Foundation. Поскольку Foundation является своего рода высокоуровневым и современным, я буду придерживаться его, если мне не нужно обрабатывать некоторые исторические проблемы, для которых требуется Core Foundation.