Файлы c расширением nsxml
You can create an object representing an XML document—that is, an instance of NSXMLDocument—in one of two general ways. Using NSXML, you can either parse an XML source and create a tree structure representative of the contents, or you can create an XML document programmatically.
Добавление, удаляя и перемещая узлы
В дополнение к изменению содержания XML-документа можно изменить структуру документа с помощью методов NSXML. Модификация структуры влечет за собой добавление, удаление, и замену узлов, а также перемещение существующих узлов к новым расположениям в дереве XML. Таблица 2 перечисляет методы, позволяющие Вам выполнить эти операции.
All NSXML objects can emit a textual representation of themselves as XML markup. In addition, NSXMLDocument objects can write themselves out as complete XML or XHTML documents. NSXML provides different sets of methods and options (as enum constants) for both writing out the contents of NSXMLNode and NSXMLDocument objects. It also offers methods for performing XSLT transformations on XML documents.
Запись XML, представленного узлами
Иногда Вы могли бы хотеть иметь определенные узлы или ответвления экспресса дерева XML сами как разметка XML, а не весь документ. Например, приложение могло идти через большой XML-документ, ища узлы, соответствующие определенные критерии, и затем создать меньший XML-документ из вывода этих узлов.
Основные методы NSXMLNode, которые Вы используете с этой целью, XMLString и XMLStringWithOptions: . Прежний метод просто вызывает последнее указание никаких выходных опций ( NSXMLNodeOptionsNone ). Кроме того, чтобы быть invokable на любом объекте NSXMLNode (включая объекты NSXMLDocument), то, что отличает эти методы от их дубликатов NSXMLDocument, - то, что они возвращают строковый объект (NSString), а не объект данных (NSData).
XMLStringWithOptions: разрешения только одна из выходных опций, доступных методу NSXMLDocument XMLDataWithOptions: — NSXMLNodePrettyPrint — для вставки пробела для улучшения удобочитаемости XML.
Метод в Перечислении 2 получает строковое представление XML-документа и использования это для содержания текстового представления и веб-представления. (Веб-представление и WebFrame, на которые ссылаются в следующих двух листингах кода, являются классами веб-платформы Набора.)
Перечисление 2 , Создающее второе использование XML-документа XMLStringWithOptions:
Примечание: Когда Вы спрашиваете объект NSXMLNode возвратить его представление XML, и узел один с содержанием (таким как элемент), представление XML включает строковое значение того содержания. Если приложение ранее установило содержание узла к объектному значению, строковое значение получено на преобразователи значения, определенные для типа объектного значения. Для получения дополнительной информации посмотрите Значения Объекта Представления как Строки .
Creating a Document Object From Existing XML
The NSXMLDocument class lets you create a document instance from XML markup text in one of several forms: as a string object, as an NSData object, and as a URL-designated file (remote or local). The following initializers of NSXMLDocument (corresponding to these forms) also include parameters for input-handling options and for obtaining information about initialization errors:
Listing 1 shows how you might create an NSXMLDocument instance from an absolute path to a local XML file.
Listing 1 Creating a document from a file URL (local file)
If initialization fails, the NSXMLDocument init method directly returns nil and most likely returns by indirection an NSError reporting a parsing or connection error. If failure is due to a parsing error, you can try to recover (as in Listing 1 ) by initializing the document with the NSXMLDocumentTidyXML option; this option reformats the document prior to parsing to ensure that it is well-formed. However, it does have side effects, such as removing leading and trailing spaces; see the NSXMLDocument reference documentation for details.
If an NSXMLDocument init method indirectly returns an NSError object in its third parameter, you can display an alert dialog to inform the user about the error. However, NSError objects created for parsing errors or warnings might not contain much helpful information. Most NSError objects encapsulate errors or warnings emitted by the parser when documents are not well-formed; these can also be connection errors from attempts to access XML at a remote locations using initWithContentsOfURL:options:error: .
You set initialization options in the second parameter of the three NSXMLDocument initializers discussed above; if you want to specify multiple options, use a bitwise-OR expression. The initialization options cover three categories of input-handling:
Preservation . The enum constants beginning with NSXMLNodePreserve support document fidelity. They allow you to ensure that aspects of the string XML input—for instance, quoting style of attribute values, CDATA sections, attribute and namespace order—remain the same when XML text is written out from the NSXMLDocument object. If you do not specify a preservation option for an aspect, NSXMLDocument handles it in a predetermined manner. For example, when NSXMLDocument reads in and parses an XML document, it normally strips white-space characters used in formatting (including tabs and carriage returns); however, if you specify NSXMLNodePreserveWhitespace these characters are kept hidden in the internal representation of the XML document. (“Hidden” means the white-space characters are retained for the output of the document, but are not visible within the tree representation.) Note that white space in text nodes is always preserved, and is not affected by the NSXMLNodePreserveWhitespace option.
Tidiness . The NSXMLDocumentTidyHTML and NSXMLDocumentTidyXML options correct any malformed parts of a source HTML or XML document, respectively, before creating the internal representation of the document. Tidying maintains document content, but not necessarily maintain white space or the order of constructs in the document. Entities and character references are always resolved to their text or unicode character.If the source is HTML and NSXMLDocumentTidyHTML is specified, NSXMLDocument attempts to convert it to XHTML ; corrections take into account the HTML context. If the source is XML and NSXMLDocumentTidyXML is specified, NSXMLDocument attempts to fix any defects to make it well-formed.
Validation . The NSXMLDocumentValidate option validates the source XML document against its associated schema. That schema can be defined through a DTD (internal or external) or XML Schema . The validator reports reasons for document invalidity indirectly through the NSError parameter. To validate against an XML Schema, you must identify the schema document through a combination of namespace, xmlns:xsi , and xsi:schemaLocation attribute declarations in the root element. The URI value of the namespace must match one of the values in the location-namespace tuples in the xsi:schemaLocation declaration. Here is an example:
XInclude . If the NSXMLDocumentXInclude option is specified, the parser replaces xsi:include elements that refer to other XML documents (or parts of documents) with the referenced content. By default this option is turned on so your application can query and edit the nodes that define inclusions.
These enum constants are defined in NSXMLNodeOptions.h . For specific information about the initialization options, check the reference documentation for NSXMLDocument.
Writing the XML Represented by Nodes
Occasionally you might want to have specific nodes or branches of an XML tree express themselves as XML markup rather than the entire document. For example, an application could walk through a large XML document looking for nodes matching specific criteria, and then construct a smaller XML document from the output of these nodes.
The primary NSXMLNode methods that you use for this purpose are XMLString and XMLStringWithOptions: . The former method simply invokes the latter specifying no output options ( NSXMLNodeOptionsNone ). Aside from being invokable on any NSXMLNode object (including NSXMLDocument objects), what distinguishes these methods from their NSXMLDocument counterparts is that they return a string object (NSString) rather than a data object (NSData).
When you send one of these messages to an NSXMLNode object that can (and does) have children—specifically, document, element, or document-type declaration nodes—the effect is recursive. All descendants of the node object print themselves out in document order.
XMLStringWithOptions: permits only one of the output options available to the NSXMLDocument method XMLDataWithOptions: — NSXMLNodePrettyPrint — for inserting whitespace to improve XML readability.
The method in Listing 2 gets the string representation of an XML document and uses that for the content of a text view and a web view. (WebView and WebFrame, which are referenced in the following two code listings, are classes of the Web Kit framework.)
Listing 2 Creating a second XML document using XMLStringWithOptions:
You can obtain XML markup text that is in canonical form by sending any NSXMLNode object the message canonicalXMLStringPreservingComments: . By converting an XML document or node to canonical form you can determine if it is logically equivalent to another XML document (or node) in canonical form—which is perhaps the same document after minor changes are made to it. Putting XML in canonical form involves various conversions and “normalizations,” such as resolving character and entity references, converting empty element tags to start-end pairs, and inserting default attribute values. See the reference documentation for the NSXMLNode class for a fuller description of canonicalXMLStringPreservingComments: .
Note: When you ask an NSXMLNode object to return its XML representation, and the node is one with content (such as an element), the XML representation includes the string value of that content. If an application had previously set the content of the node to an object value, the string value is derived from value transformers defined for the type of object value. For further information, see Representing Object Values as Strings .
Классы NSXML
Открытый интерфейс NSXML состоит из этих пяти Фундаментальных классов, перечисленных в Таблице 1 . NSXML полностью поддерживает стандарт XML и может эффективно обработать самый большой из XML-документов. Это полагается на существующие Фундаментальные классы для предотвращения избыточности в ее программируемом интерфейсе.
Все объекты NSXML могут испустить текстовое представление себя как разметка XML. Кроме того, объекты NSXMLDocument могут исписаться как полный XML или документы XHTML. NSXML обеспечивает различные наборы методов и опций (как enum константы) и для выписывания содержания NSXMLNode и для объектов NSXMLDocument. Это также предлагает методы для выполнения трансформаций XSLT на XML-документах.
Writing Out an XML Document
Perhaps the most common pattern of an application that processes XML is something like the following:
Read an XML document from a file or website, converting it to an internal tree structure.
Modify, add, and delete nodes in the tree.
From the objects in the tree, write a new or updated XML document to a file or website.
Two methods of the NSXMLDocument class help you with the final step, XMLData and XMLDataWithOptions: . As the method names imply, both methods return an NSData object. The character data of the output is encoded based on the encoding specified as an attribute in the document’s XML declaration. (If that doesn’t exist, NSXML uses UTF-8 as a default encoding.)
XMLData simply invokes XMLDataWithOptions: with an argument of NSXMLNodeOptionsNone , requesting no output options. The latter method allows you to specify the following enum -constant options:
NSXMLNodePrettyPrint — Makes the XML output more human-readable by, for example, inserting carriage returns and indenting nested elements.
NSXMLDocumentIncludeContentTypeDeclaration — Includes a content type declaration for HTML or XHTML output.
If you want to specify multiple constants, use a bitwise-OR expression.
Listing 2 shows how you might invoke the XMLDataWithOptions: method in the writeToFile:ofType: method of an NSDocument subclass.
Listing 1 Writing an XML document to a file (NSDocument subclass)
Transforming a Document With XSLT
NSXML includes support for XSLT. With XSLT you can apply a set of template rules and patterns to a source XML document and thereby transform that document into another XML document or into an HTML, RTF, or plain-text document. Three NSXMLDocument methods are the interface to XSLT processing:
- (id)objectByApplyingXSLT:(NSData *)xslt arguments:(NSDictionary *)arguments error:(NSError **)error
- (id)objectByApplyingXSLTString:(NSString *)xslt arguments:(NSDictionary *)arguments error:(NSError **)error
- (id)objectByApplyingXSLTAtURL:(NSURL *)xsltURL arguments:(NSDictionary *)arguments error:(NSError **)error
These methods return transformed XML or HTML documents in the form of an NSXMLDocument object; they return RTF or plain-text documents as NSData objects.
The first of these methods takes the XSLT code as a data object, the second as a string object, and the third takes a URL identifying a source of XSLT code. Listing 3 illustrates the usage of the third method. In this case, the file containing the XSLT code is stored as a nonlocalized resource of the application. The method gets the path to the XSLT file, converts the path to a URL, and then sends the objectByApplyingXSLTAtURL:arguments:error: method to an NSXMLDocument object. It gets the HTML contents of the resulting document object using XMLString ; it then loads that string into a WebView object from which it is printed.
Listing 3 Transforming an XML document to HTML using XSLT
Copyright © 2004, 2013 Apple Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2013-09-18
Выписывание XML-документа
Возможно, наиболее распространенный образец приложения, обрабатывающего XML, является чем-то как следующее:
Считайте XML-документ из файла или веб-сайта, преобразовав его во внутреннюю древовидную структуру.
Измените, добавьте и удалите узлы в дереве.
От объектов в дереве запишите новый или обновленный XML-документ в файл или веб-сайт.
Два метода класса NSXMLDocument помогают Вам с последним шагом, XMLData и XMLDataWithOptions: . Поскольку имена методов подразумевают, оба метода возвращают объект NSData. Символьные данные вывода кодируются на основе кодирования, указанного как атрибут в определении XML документа. (Если это не существует, NSXML использует UTF-8 в качестве кодировки по умолчанию.)
XMLData просто вызывает XMLDataWithOptions: с параметром NSXMLNodeOptionsNone , запрос никаких выходных опций. Последний метод позволяет Вам указывать следующий enum - постоянные опции:
NSXMLNodePrettyPrint — Делает вывод XML более человекочитаемым, например, вставляя возвраты каретки и располагая вложенные элементы с отступом.
NSXMLDocumentIncludeContentTypeDeclaration — Включает объявление типа контента для вывода HTML или XHTML.
Если Вы хотите указать многократные константы, используйте выражение битового «ИЛИ».
Перечисление 2 показывает, как Вы могли бы вызвать XMLDataWithOptions: метод в writeToFile:ofType: метод подкласса NSDocument.
Перечисление 1 Пишущий XML-документ в файл (подкласс NSDocument)
Creating a New XML Document
Sometimes you might want to create an XML document that is entirely new, without there being any original source file or website page. You may want to manipulate all of the nodes in a tree structure—adding, removing, and relocating them—and let NSXML take care of the formatting details when the document is written to a file.
The initWithRootElement: initializer of NSXMLDocument allows you to do this. An NSXMLDocument object has two defining kinds of data: a set of document-global attributes and a root element. Once you have the root element you can construct the rest of the document’s tree representation by adding child nodes of various types to parent nodes at various levels.
Listing 2 shows an example of creating a brand-new XML document object.
Listing 2 Creating an NSXMLDocument instance representing a new document
This fragment of code uses methods of NSXMLDocument to set the version and encoding attributes of the XML declaration of the document. You could also set the standalone, URI , and MIME-type attributes using the corresponding NSXMLDocument “setter” methods. You may associate a Document Type Definition with the NSXMLDocument object through the setDTD: method. NSXMLDocument also allows you to specify the document’s output format (using setDocumentContentKind: ) as HTML, XHTML, text, or (the default) XML. For example, the following lists the different handlings of the
element:
Plain text: nothing
Once you create an XML document object and set its attributes, you can start adding content to it—that is, the elements, attributes, and other nodes that make up an XML document—through the appropriate methods of NSXMLElement and NSXMLNode .
If the XML document has a schema associated with it—defined either with a DTD or XML Schema —you might want to validate the document periodically. To validate a document, send the validateAndReturnError: message to the NSXMLDocument object. If the operation is not valid, the method returns NO ; the reasons for invalidity are returned by indirection in the method’s NSError parameter.
Copyright © 2004, 2013 Apple Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2013-09-18
Как технология, NSXML также включает поддержку XQuery 1.0 и XPath 2.0, позволяющих Вам выполнить запросы на XML-документах. Для получения дополнительной информации о XQuery и XPath, см. XQuery и Другую XML Technologies
Возможности NSXML
XML является повсеместным и все более и более важным форматом разметки документа для структурирования информации, которой можно примениться к фактически любая вычислительная цель. Формат так гибок, что приложения XML могут включать технологии, столь же разнообразные как публикация, электронный обмен данными, управление сетью и векторная графика. Привлекательность XML очевидна: Это - основанный на тексте, структурированный, межплатформенный формат хранения для данных любого вида.
Когда необходимо обработать информацию в XML-отформатированных источниках, можно использовать API NSXML в собственных приложениях. С NSXML можно создать, изменить, запросить и преобразовать XML-документы или страницы веб-сайта во всего нескольких строках кода. СТИЛЬ DOM основанная на дереве модель данных NSXML позволяет Вам вставить, удалить, и изменить узлы в любой точке в дереве. (Для обсуждения этой модели посмотрите Модель данных NSXML .) У Вас может или быть NSXML, читает существующий XML-документ во внутреннюю древовидную структуру, или можно создать древовидное представление с нуля. NSXML позволяет Вам искать определенные узлы и значения в дереве или обходом дерева или использованием языки запросов XPath или XQuery. Когда Вы закончили работать с XML-документом, можно попросить, чтобы древовидное представление распечатало себя, как упорядочено и должным образом структурированный XML или код XHTML.
Архитектурно, NSXML зависит от событийно-управляемого синтаксического анализатора XML для парсинга входных XML-документов, прежде чем он преобразует их в древовидные структуры. Общедоступный интерфейс Cocoa к этому синтаксическому анализатору является классом NSXMLParser.
NSXML не является лучшим решением для всех ситуаций, где должен быть обработан XML. Внутренние древовидные представления могут привести много в рабочее состояние памяти приложения, специально для операций, таких как проверка и трансформации XSLT. Если Вы просто должны найти определенные значения в XML-документе и не нуждаетесь в персистентном представлении XML для изменения, то лучшая альтернатива Какао является событийно-управляемой моделью синтаксического анализа, предлагаемой классом NSXMLParser.
В дополнение к методам, позволяющим Вам создавать и управлять узлами и значениями узла в древовидных структурах СТИЛЯ DOM, NSXML имеет много других функций, включая следующее:
Узлы DTD. NSXML анализирует внутренние Определения типа документа (DTDs) и составляет деревья, представляющие структуру объявлений. Среди узлов таких деревьев объекты, представляющие объекты, объявления списка атрибутов и объявления элемента. Можно программно изменить такие деревья или даже создать их с нуля и затем выписать новый или измененный DTD. Когда NSXML обрабатывает XML-документ, он, если требуется, может проверить его против внутреннего или внешнего DTD. Посмотрите DTD и Другие Схемы для получения дополнительной информации.
Пространства имен . NSXML позволяет Вам различать элементы и атрибуты в различных пространствах имен в XML-документе. С методами в NSXMLNode и классах NSXMLElement можно создать узлы пространства имен, связать их с элементом и его атрибутами, элементами запроса для их заявленных пространств имен, и иметь префиксы решения пространств имен динамично против пространства имен URIs и локальные имена, связанные с атрибутами и элементами.
Приведите в порядок XML и HTML. NSXML использует инструмент с открытым исходным кодом, проверяющий и исправляющий HTML и XML-документы для создания их совместимыми с Консорциальными стандартами Всемирной сети (W3C). Когда HTML «приведен в порядок», это преобразовывается в XHTML . Вы запрашиваете опрятный XML или HTML как опция в инициализации и выводите методы.
XQuery и XPath . С XQuery или XPath, можно быстро определить местоположение определенных узлов или значений в XML-документе, и можно преобразовать или создать узлы XML или даже документы. См. XQuery и Другую XML Technologies для получения дополнительной информации.
XSLT . NSXML позволяет Вам применить XSLT (Трансформации Расширяемого языка таблиц стилей) к объекту XML-документа (NSXMLDocument). XSLT преобразовывает один XML-документ в другой XML-документ или документ в другом формате, таком как XHTML, HTML, RTF или простой текст. Это делает это путем применения ряда образцов и обрабатывает правила по шаблону. XQuery и Другая XML Technologies обсуждают XSLT более подробно.
XInclude . NSXML поддерживает XInclude, позволяя Вам объединить XML из других источников в текущий документ.
Привязка . Классы NSXML соответствуют протоколу кодирования значения ключа и реагируют на наблюдателей, соответствующих протоколу наблюдения значения ключа. Следовательно можно связать атрибуты объектов NSXML к свойствам объектов пользовательского интерфейса через классы контроллера Какао.
Преобразование документа с XSLT
NSXML включает поддержку XSLT. С XSLT можно применить ряд шаблонных правил и образцов к исходному XML-документу и таким образом преобразовать тот документ в другой XML-документ или в HTML, RTF или документ простого текста. Три метода NSXMLDocument являются интерфейсом к обработке XSLT:
- (id)objectByApplyingXSLT:(NSData *)xslt arguments:(NSDictionary *)arguments error:(NSError **)error
- (id)objectByApplyingXSLTString:(NSString *)xslt arguments:(NSDictionary *)arguments error:(NSError **)error
- (id)objectByApplyingXSLTAtURL:(NSURL *)xsltURL arguments:(NSDictionary *)arguments error:(NSError **)error
Эти методы возврат преобразовали XML или документы HTML в форме объекта NSXMLDocument; они возвращают RTF или документы простого текста как объекты NSData.
Первый из этих методов берет код XSLT в качестве объекта данных, второе как строковый объект, и треть берет URL, идентифицирующий источник кода XSLT. Перечисление 3 иллюстрирует использование третьего метода. В этом случае файл, содержащий код XSLT, хранится как нелокализованный ресурс приложения. Метод получает путь к файлу XSLT, преобразовывает путь к URL, и затем отправляет objectByApplyingXSLTAtURL:arguments:error: метод к объекту NSXMLDocument. Это получает содержимые HTML использования объекта итогового документа XMLString ; это тогда загружает ту строку в объект веб-представления, от которого это распечатано.
Перечисление 3 , Преобразовывающее XML-документ к HTML с помощью XSLT
Можно изменить XML-документ с методами NSXML двумя общими способами:
Путем изменения значений объектов узла
Путем добавления, удаляя или заменяя узлы, или путем изменения их местоположений в дереве
Эта статья обсуждает оба аспекта модификации XML.
Примечание: Несмотря на то, что часть информации, содержавшейся в этой статье, применяется к атрибуту, и узлы пространства имен, Обрабатывая Атрибуты и Пространства имен обсуждает, как создать и изменить эти типы узлов более подробно.
Изменение значений узлов
Большинство видов объектов NSXMLNode имеет значения, связанные с ними. Класс NSXMLNode позволяет, Вы установить значение узла или в строку возражаете или против некоторого другого типа объекта. Два главных устанавливающих значение метода NSXMLNode отражают этот выбор:
- (void)setStringValue: (NSString *)string;
Примечание: NSXMLNode также объявляет setStringValue:resolvingEntities: метод, который, если resolvingEntities: параметр YES , ссылки символа решений и ссылки на предопределенные и определяемые пользователем объекты в строке. (Ссылки на определяемые пользователем объекты требуют связанного DTD, в котором объект объявляется). setStringValue: метод NSXMLNode вызывает этот примитивный метод с «resolvingEntities» флагом NO .
Когда NSXML обрабатывает входной файл или другой источник XML, это автоматически устанавливает значения узлов, поскольку возражает строка. (Это не имеет никакой другой индикации относительно типов значений кроме формы, в которой это находит их: строки.) Хранение значения узлов как строки приемлемо для большинства приложений. Изменение строкового значения является просто вопросом нахождения определенного узла и отправки setStringValue: или setStringValue:resolvingEntities: к нему. Само значение часто прибывает из пользовательского интерфейса, как показано в Перечислении 1 .
Перечисление 1 , Устанавливающее строковое значение узла
Установка значения узла к объекту кроме объекта NSString может дать Вам определенные преимущества. Как пример, предположите, что Ваше приложение имеет узлы элемента для таких финансовых значений как цена на элемент, количество, налог и общее количество. Путем преобразования значений этих узлов от строк ( “45.99” ) к числам ( 45.99 ), Ваше приложение может выполнить вычисления непосредственно с объектными значениями узлов.
Можно установить любой произвольный объект как объектное значение узла. Когда объект NSXMLNode просят испустить его объектное значение как строку XML, он производит строковое представление значения. Для стандартных атомарных типов это значение находится в канонической форме для типа (как определено спецификацией типов данных схемы XML W3C). Для использования в своих интересах этого поведения по умолчанию объект, который Вы устанавливаете, должен быть экземпляром Фундаментального класса, соответствующего одному из атомарных типов в модели данных XQuery . Таблица 1 перечисляет эти классы и их соответствующие типы.
строка (использование setObjectValue: )
целое число, десятичное число, плавание, дважды, булевская переменная
base64 и шестнадцатеричный двоичный файл
NMTOKENS , IDREFS , ENTITIES
Можно также создать преобразователи значения , представляющие строкового представителя значений пользовательских объектов. Для больше на этом предмете, и для получения дополнительной информации о стандартных строковых представлениях, посмотрите Значения Объекта Представления как Строки .
Необходимо установить объектное значение каждого узла в документе сами — NSXML не делает этого для Вас автоматически. Обычно Вы сначала установили бы объектные значения глобально после того, как NSXML обрабатывает источник XML и производит древовидное представление документа. Можно обойти дерево или иначе искать узлы документа, значения которого Вы хотите установить в объекты. После того при создании новых узлов можно установить их объектные значения в той точке.
Фрагмент кода в Перечислении 2 использует метод источника данных NSTableView tableView:objectValueForTableColumn:row: как точка, в которой можно установить объектные значения узлов атрибута, представляющих даты. Строковые значения этих атрибутов должны соответствовать образцу «mm/dd/yy», где «мм» является числом месяца, «dd» является днем месяца, и «yy» является последними двумя цифрами года. (Можно присоединить объект NSDateFormatter к полю ввода, чтобы гарантировать, чтобы недавно вводимые даты соответствовали этому образцу также.) Фрагмент кода использует метод NSCalendarDate dateWithString:calendarFormat: произвести преобразование из строкового значения для возражения значению.
Перечисление 2 , Устанавливающее объектное значение на основе строкового образца
Один раз объектные значения hireDate атрибуты были установлены, приложение может пойти о сравнении дат, вычислительные периоды между датами и чем-либо еще, что может быть сделано с методами NSCalendarDate и классов NSDate. Перечисление 3 является методом, использующим значения объекта NSCalendarDate для идентификации сотрудника, работавшего самое длинное на гипотетическую компанию.
Перечисление 3 Используя объектное значение атрибута
Важный: Установка строки или объектного значения объекта NSXMLNode удаляет все существующие дочерние элементы, включая обработку инструкций и комментариев. Установка строки или объектного значения объекта NSXMLElement создает текстовый узел как единственный дочерний элемент.
Читайте также: