Полагаю, вам нужен инструмент svcutil.exe:
ОБНОВЛЕНИЕ:
Я сделал еще несколько копаний. Используемый пользовательский инструмент определен в сборке Microsoft.VisualStudio.Editors.WCF, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
. Похоже, это не используется в инструменте svcutil.exe
. Сборка находится в gac, но я не знаю, как это можно выполнить с помощью командной строки. Лучше всего, вероятно, получить wsdl для вашей справочной службы и использовать вместо этого инструмент svcutil.
На самом деле, я только что попытался сгенерировать код, используя только файл Reference.svcmap, и в результате получился пустой файл Reference.cs, содержащий только «автоматически сгенерированный» комментарий. Таким образом, одного файла Reference.svcmap недостаточно для генерации прокси-кода клиента. Вам нужно больше информации, чем это. Когда вы запускаете опцию «обновить ссылку на службу» в Visual Studio, она обычно выбирает все метаданные из конечной точки обмена метаданными и восстанавливает ваш код. Это также может быть достигнуто с помощью svcutil.exe
путем передачи URL-адреса службы.
Вы можете использовать любую структуру данных , реализованную на C или C ++ с iPhone SDK.
Например, я часто использую стандартную библиотеку .
Кроме того, вы также можете использовать сложные структуры данных Какао, такие как:
Вы можете иметь сопроводительный документ на них здесь .
Язык Objective-C не предоставляет никаких внутренних структур данных, таких как связанные списки и т. Д. Однако, поскольку он основан на кодовой базе C / C ++, все, что может быть реализовано в C или C ++ может быть выполнен непосредственно в Objective-C, включая связанные списки и другие структуры данных.
Какао (фреймворк, доступный как на Mac, так и на iOS) реализует несколько общих типов коллекций , включая NSArray
, NSDictionary
и NSSet
, а также их изменяемые варианты. (Leopard также представил NSPointerArray
, NSHashMap
и NSHashTable
, массив / словарь / набор с дополнительными параметрами (например, с использованием слабых ссылок), которые делают их довольно удобными). для использования в среде со сборкой мусора. Однако эти классы в настоящее время недоступны на iPhone и не имеют смысла на данный момент, поскольку iOS не поддерживает сборку мусора.) Эти классы очень быстрые и подходят для общих -целевое использование в любом приложении Какао.
Помимо этих предоставленных структур, у вас есть несколько вариантов: (1) создавать более сложные структуры, используя их в качестве строительных блоков, (2) использовать существующий сторонний код или (3) создавать собственные структуры данных с нуля.
] Один из вариантов - CHDataStructures.framework , платформа Objective-C с открытым исходным кодом, которую я поддерживаю. Он реализует несколько других общих структур данных, таких как стек / очередь / двухсторонняя очередь, связанные списки, отсортированные наборы и многое другое. Эти структуры принимают NSCoding и NSCopying (плюс NSFastEnumeration на 10.5+), поэтому они без проблем работают с собственным кодом Objective-C. Проект также позволяет создавать статическую библиотеку для использования на iPhone. Поскольку этот фреймворк имеет открытый исходный код, при необходимости вы даже можете включить только соответствующий код непосредственно в свой проект.
В то время как вы можете использовать структуры C ++ и STL, я обнаружил, что смешивание Objective-C и C ++, как правило, намного более запутанно и приводит к неприятным ошибкам, особенно для новичков. Это не критика C ++, а просто принцип «когда в Риме». При использовании C ++, конечно, предпочтительным подходом является STL. Если вы уже микшируете C ++, вероятно, вам это достаточно удобно, и STL может быть хорошим выбором; даже в этом случае, я считаю, что использование собственных коллекций Какао дает более очевидный, читаемый код.
если вы уже микшируете на C ++, вы, вероятно, достаточно освоились с ним, и STL может быть хорошим выбором; даже в этом случае, я считаю, что использование собственных коллекций Какао дает более очевидный, читаемый код. если вы уже микшируете на C ++, вы, вероятно, достаточно освоились с ним, и STL может быть хорошим выбором; даже в этом случае, я считаю, что использование собственных коллекций Какао дает более очевидный, читаемый код.