Search code examples
iphoneobjective-ckey-value-observing

how to get the keys of a nscoder


Is there a way to get the keys used in a NSCoder that has encoded a storyboard file? I see PSTCollectionView has used a lot of undocumented keys, how did they get them?

Specifically, I want the key used when you set a UITableViewController to use a UIRefreshControl automatically in IB.


Solution

  • The XIB (XML Interface Builder) is a file created in XML.

    You can open it using textEdit or wordPad. So, problem is half solved!!!

    Read the xml of xib/nib file and parse it. Read all the Keys from there.

    Snipped of MainMenu.xib

    <?xml version="1.0" encoding="UTF-8"?> <archive 
      type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00"> 
       <data> <int key="IBDocument.SystemTarget">1080</int>     
           <string key="IBDocument.SystemVersion">11D50</string>
           <string key="IBDocument.InterfaceBuilderVersion">2457</string>         
           <string key="IBDocument.AppKitVersion">1138.32</string>
           <string key="IBDocument.HIToolboxVersion">568.00</string>
           <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> 
              <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string> 
              <string key="NS.object.0">2457</string>       
           </object>