Недавно я использовал протокольные буферы для отличного эффекта в этой конкретной области. У этого очень мало накладных расходов и работает лучше, чем родная цель Сериализация/десериализация сериализации (по крайней мере, на Ipod Touch, с которым я тестирую производительность, поскольку это самое медленное устройство, которое мы хотим поддерживать).
Мне потребовалось некоторое время, чтобы настроить их как новичка в разработке iOS, хотя (на стороне python было очень легко).
Этот блог действительно помогает: http://nserror.me/blog/2011/06/03/protocol-buffers-and-xcode/
Суммируя о том, как интегрировать буфера протокола в объективный проект C - Это заняло у меня целый день, чтобы собрать вместе, поэтому я ставлю его в надежде кого-то в моей ситуации находит полезным:
- протокола получить буферы here
- Configure/сделать/сделать установку
- получить this проект (это мерзавец клондля ленивых)
- autogen.sh/configure/make/make установить
- В Protobuf-ObjC/SRC/выполнения есть проект Xcode. Откройте его, создайте, а затем снова закройте xcode. Очень важно, чтобы вы это делали.
- откройте свой проект в Xcode. Перейдите на вкладку «правила построения» в целевом объекте. Добавьте настраиваемое правило сборки для файлов * .proto.
Сценарий:
/usr/local/bin/protoc --plugin=/usr/local/bin/protoc-gen-objc \
--proto_path=${INPUT_FILE_DIR} \
--objc_out=${DERIVED_SOURCES_DIR} \
${INPUT_FILE_PATH}
Выходные файлы:
${DERIVED_SOURCES_DIR}/${INPUT_FILE_BASE}.pb.h
${DERIVED_SOURCES_DIR}/${INPUT_FILE_BASE}.pb.m
- скопировать Protobuf-ObjC проект в тот же каталог, у вас есть .xcodeproj в
- Добавить ссылка на проект в protobuf-obj/src/runtime (просто перетащите из искателя в ваш проект
- В разделе «Фазы сборки» для вашей цели добавьте зависимость от ProtocolBuffers
- В разделе «Настройки сборки» выберите «все» и добавьте следующие пути поиска заголовка: $ {SOURCE_ROOT}/protobuf-objc/src/runtime/Build/Products
- В сводке для вашей цели добавьте ссылку на .a-файл, сгенерированный проектом ProtocolBuffers.
- И это все, отныне, вы просто добавляете свое.proto-файлы в проект (и список файлов для компиляции), и вы можете использовать буферы протокола
Почему не SVG? Если это просто Bezier Paths, то SVG будет так же хорош и намного лучше поддерживается, нет? –
SVG кажется очень интересным. Может ли кто-нибудь ссылаться на пример кода, показывающий мне, как это сделать? – user1120008
С другой стороны, мне было интересно, существует ли двоичный формат, совместимый для обоих. – user1120008