Skip to content

Swiftify-Corp/IBDecodable

Folders and files

NameName
Last commit message
Last commit date

Latest commit

294ac19 · Aug 25, 2022
Feb 6, 2022
Dec 15, 2020
Aug 4, 2022
Aug 4, 2022
Mar 25, 2018
May 8, 2020
Nov 23, 2019
Mar 25, 2018
Apr 2, 2022
Aug 25, 2022
Feb 6, 2022

Repository files navigation

IBDecodable

Swift Swift 5.5 Contributors Forks Stargazers Issues MIT License

A tool to translate .xib and .storyboard XML into Swift models.

Installing

Using Cocoapods:

Simply add the following line to your Podfile:

pod 'IBDecodable'

To include IBDecodable into a Swift Package Manager package, add it to the dependencies attribute defined in your Package.swift file.

dependencies: [
    .Package(url: "https://github.com/IBDecodable/IBDecodable.git", majorVersion: <majorVersion>, minor: <minor>)
]

Parse Storyboard

From file url:

let file = try StoryboardFile(url: fileURL)

From string content:

let parser = InterfaceBuilderParser()
let storyboardDocument = try parser.parseStoryboard(xml: "<?xml ... ")

Browse the storyboard scene

if let scenes = file.document.scenes {
  for scene in scenes {
    ..
  }
}

Get the storyboard resources

if let resources = file.document.resources {
  for resource in resources {
    resource.resource // .. `NamedColor`, Ìmage
  }
}

Parse Xib

From file url:

let file = try XibFile(url: fileURL)

From string content:

let parser = InterfaceBuilderParser()
let xibDocument = try parser.parseXib(xml: "<?xml ... ")