2012-12-01 2 views
3

XML 파일에서 목표 파일 -c의 Nib 파일로의 변환에 대해 알고 싶습니다. 내 요구 사항은 일반적으로 XIB 파일로 컴파일 한 후 NIB 파일 (이진 데이터 형식)로 변환되어 내 프로젝트에 외부 XML 파일을 제공하려고합니다. 이 파일을 Nib 파일로 변환하고 싶습니다. 이게 가능합니까? 제안 해주세요 (Xib 파일을 XML 파일로 대체한다는 의미입니다).XML 파일을 Nib 파일로 변환 하시겠습니까?

+3

XIBs는하는 PLIST의 확장 버전, 매우 복잡 수 있습니다. 필요한 것을 수용 할 수있는 "출발점"을 얻으려면 빈 펜촉을 만들고 textedit에서 열거 나 Xcode에서 실제로 열어서 실제로 쓰고있는 것을 확인해야합니다. – CodaFi

+0

XML을 사용하여이 작업을 수행 할 수 있습니까? – Balu

+1

본 XML이 아닙니다. XIB는 거의 객체 그래프와 비슷하기 때문에 plists처럼 보이고 작동하지만, 올바른 최상위 태그가 있으면 XML 파일의 이름을 XIB로 바꿀 수 있습니다. 그것을 컴파일하는 것은 또 다른 이야기입니다. – CodaFi

답변

0

여기 일반 iPad xib 구성의 세부 정보가 나열되어 있으며 plist 형식입니다.

<?xml version="1.0" encoding="UTF-8"?> 
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="8.00"> 
    <data> 
     <int key="IBDocument.SystemTarget">1536</int> 
     <string key="IBDocument.SystemVersion">12A206j</string> 
     <string key="IBDocument.InterfaceBuilderVersion">2519</string> 
     <string key="IBDocument.AppKitVersion">1172.1</string> 
     <string key="IBDocument.HIToolboxVersion">613.00</string> 
     <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> 
      <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
      <string key="NS.object.0">1856</string> 
     </object> 
     <array key="IBDocument.IntegratedClassDependencies"> 
      <string>IBProxyObject</string> 
      <string>IBUIView</string> 
     </array> 
     <array key="IBDocument.PluginDependencies"> 
      <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
     </array> 
     <object class="NSMutableDictionary" key="IBDocument.Metadata"> 
      <string key="NS.key.0">PluginDependencyRecalculationVersion</string> 
      <integer value="1" key="NS.object.0"/> 
     </object> 
     <array class="NSMutableArray" key="IBDocument.RootObjects" id="1000"> 
      <object class="IBProxyObject" id="841351856"> 
       <string key="IBProxiedObjectIdentifier">IBFilesOwner</string> 
       <string key="targetRuntimeIdentifier">IBIPadFramework</string> 
      </object> 
      <object class="IBProxyObject" id="606714003"> 
       <string key="IBProxiedObjectIdentifier">IBFirstResponder</string> 
       <string key="targetRuntimeIdentifier">IBIPadFramework</string> 
      </object> 
      <object class="IBUIView" id="766721923"> 
       <reference key="NSNextResponder"/> 
       <int key="NSvFlags">274</int> 
       <string key="NSFrame">{{0, 20}, {768, 1004}}</string> 
       <reference key="NSSuperview"/> 
       <reference key="NSWindow"/> 
       <object class="NSColor" key="IBUIBackgroundColor"> 
        <int key="NSColorSpace">3</int> 
        <bytes key="NSWhite">MQA</bytes> 
        <object class="NSColorSpace" key="NSCustomColorSpace"> 
         <int key="NSID">2</int> 
        </object> 
       </object> 
       <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"> 
        <int key="IBUIStatusBarStyle">2</int> 
       </object> 
       <string key="targetRuntimeIdentifier">IBIPadFramework</string> 
      </object> 
     </array> 
     <object class="IBObjectContainer" key="IBDocument.Objects"> 
      <array class="NSMutableArray" key="connectionRecords"> 
       <object class="IBConnectionRecord"> 
        <object class="IBCocoaTouchOutletConnection" key="connection"> 
         <string key="label">view</string> 
         <reference key="source" ref="841351856"/> 
         <reference key="destination" ref="766721923"/> 
        </object> 
        <int key="connectionID">3</int> 
       </object> 
      </array> 
      <object class="IBMutableOrderedSet" key="objectRecords"> 
       <array key="orderedObjects"> 
        <object class="IBObjectRecord"> 
         <int key="objectID">0</int> 
         <array key="object" id="0"/> 
         <reference key="children" ref="1000"/> 
         <nil key="parent"/> 
        </object> 
        <object class="IBObjectRecord"> 
         <int key="objectID">-1</int> 
         <reference key="object" ref="841351856"/> 
         <reference key="parent" ref="0"/> 
         <string key="objectName">File's Owner</string> 
        </object> 
        <object class="IBObjectRecord"> 
         <int key="objectID">-2</int> 
         <reference key="object" ref="606714003"/> 
         <reference key="parent" ref="0"/> 
        </object> 
        <object class="IBObjectRecord"> 
         <int key="objectID">2</int> 
         <reference key="object" ref="766721923"/> 
         <reference key="parent" ref="0"/> 
        </object> 
       </array> 
      </object> 
      <dictionary class="NSMutableDictionary" key="flattenedProperties"> 
       <string key="-1.CustomClassName">ViewController</string> 
       <string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="-2.CustomClassName">UIResponder</string> 
       <string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
      </dictionary> 
      <dictionary class="NSMutableDictionary" key="unlocalizedProperties"/> 
      <nil key="activeLocalization"/> 
      <dictionary class="NSMutableDictionary" key="localizations"/> 
      <nil key="sourceID"/> 
      <int key="maxID">3</int> 
     </object> 
     <object class="IBClassDescriber" key="IBDocument.Classes"> 
      <array class="NSMutableArray" key="referencedPartialClassDescriptions"> 
       <object class="IBPartialClassDescription"> 
        <string key="className">ViewController</string> 
        <string key="superclassName">UIViewController</string> 
        <object class="IBClassDescriptionSource" key="sourceIdentifier"> 
         <string key="majorKey">IBProjectSource</string> 
         <string key="minorKey">./Classes/ViewController.h</string> 
        </object> 
       </object> 
      </array> 
     </object> 
     <int key="IBDocument.localizationMode">0</int> 
     <string key="IBDocument.TargetRuntimeIdentifier">IBIPadFramework</string> 
     <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> 
     <int key="IBDocument.defaultPropertyAccessControl">3</int> 
     <bool key="IBDocument.UseAutolayout">YES</bool> 
     <string key="IBCocoaTouchPluginVersion">1856</string> 
    </data> 
</archive> 

그러나 plist의 요소에 대한 문서는 없습니다.

하나의 해결책 발견 한 유사한 XIB 파일을 만들고 그 plist를 사용하여 확인합니다. 그리고 이것을 시도해보십시오. 확장자가 .xib 인이 plist 데이터를 작성하고 그 파일을로드하십시오.

이 링크 도움말 U,

here

덕분에,

나빈 샨은

관련 문제