Latest 0.1.0
Homepage https://github.com/PB-Tech/SwiftyLoad
License MIT License
Platforms ios 9.0
Frameworks Foundation
Authors

SwiftyLoad

This is a source to make swift environment enable load and initialize method.

It’s simple and easy to use.

Usage

use with cocoapod

   pod 'SwiftyLoad'

step 1 new a xxx.m file in your project

You can new a .m file anywhere of your project ,and reference in your project.

step 2 write micros make your class enable load() and initialize() function

wtire the code Like this in the xxx.m file

#import <Foundation/Foundation.h>
#import <Swifty_Demo-Swift.h>

SWIFTY_LOAD_INITIALIZE(UIButton)//make UIKit class UIButton enable load() and initialize()
SWIFTY_LOAD_INITIALIZE(TestObject)//make custom class TestObject enable load() and initialize()

step 3 implementation of load() and initialize() method callback

import SwiftyLoad//import the SwiftyLoad framework

//custom class must be define with @objc make the class can be hook in objective-c
@objc class TestObject: NSObject {

}

//comform the NSSwiftyLoadProtocol in the extension
extension TestObject : NSSwiftyLoadProtocol {
    public static func swiftyLoad() {
        print("TestObject--->swiftyLoad")
    }
}

//the system based class can be implementation NSSwiftyLoadProtocol directly
extension UIButton : NSSwiftyLoadProtocol {

    public static func swiftyInitialize() {
        print("UIButton--->swiftyInitialize")
    }

    public static func swiftyLoad() {
        print("UIButton--->swiftyLoad")
    }

}

Notes: If you feel confuse, you can read the sample code.

Latest podspec

{
    "name": "SwiftyLoad",
    "version": "0.1.0",
    "license": {
        "type": "MIT License",
        "file": "LICENSE"
    },
    "homepage": "https://github.com/PB-Tech/SwiftyLoad",
    "summary": "An open-source make swift aviable load and initialize method",
    "authors": {
        "PB-Tech": "[email protected]"
    },
    "source": {
        "git": "https://github.com/PB-Tech/SwiftyLoad.git",
        "tag": "0.1.0"
    },
    "source_files": "SwiftyLoad/*/*.{h,m}",
    "public_header_files": "SwiftyLoad/*/*.{h}",
    "frameworks": "Foundation",
    "platforms": {
        "ios": "9.0"
    }
}

Pin It on Pinterest

Share This