mPaaS

Build mPaaS in Swift

2019-08-08  本文已影响0人  山已几孑

项目正式启动还有点时间,mPaaS多少也了解了点,尝试通过*** Cocoapodsswift***运行一下mPaaS!!

*** swift比OC写着心情舒畅😄😄😄😄😄😄

前面按部就班

这时候项目的mPaaS文件夹里面是创建好的MPLauncherAppDelegate、MPTabbarController、DemoViewController

改好的项目已经没有这些文件了,这些是另一个工程里面的截图
#ifndef StepBySwift_bridge_h
#define StepBySwift_bridge_h

#import "StepBySwift-mPaaS-Headers.h"

#endif /* StepBySwift_bridge_h */

我这边然后想做的事儿就是让mPaaS可以加载swift文件

class MPLauncherAppDelegate: NSObject, DTMicroApplicationDelegate {
    
    var tabBarController: UITabBarController?
    var rootController: UIViewController?

    override init() {
        let vc1 = DemoViewController()
        vc1.title = "Home"
        let vc2 = DTViewController()
        vc2.title = "Mine"
        
        let tabBarController = MPTabBarController()
        tabBarController.viewControllers = [vc1, vc2]
        tabBarController.selectedIndex = 0
        
        tabBarController.delegate?.tabBarController?(tabBarController, didSelect: vc1)
        self.rootController = tabBarController
        self.tabBarController = tabBarController
    }
    
    func rootController(in application: DTMicroApplication!) -> UIViewController! {
        guard let root = rootController else { fatalError("rootController 不能为空") }
        return root
    }
}
class MPTabBarController: UITabBarController, UITabBarControllerDelegate {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        self.delegate = self;
    }
    func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) {
        self.title = viewController.title   
        self.navigationItem.leftBarButtonItem = viewController.navigationItem.leftBarButtonItem
        self.navigationItem.leftBarButtonItems = viewController.navigationItem.leftBarButtonItems
        self.navigationItem.rightBarButtonItem = viewController.navigationItem.rightBarButtonItem
        self.navigationItem.rightBarButtonItems = viewController.navigationItem.rightBarButtonItems
    }
}
class DemoViewController: DTViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        view.backgroundColor = UIColor.green
    }
}

重点来了

MPLauncherAppDelegate * del = [[MPLauncherAppDelegate alloc]init];

    id vc;
    Class cl = NSClassFromString(@"StepBySwift.MPLauncherAppDelegate");
    if (cl != Nil) {
        vc = [[cl alloc]init];
    }
    else {
        vc = (DTViewController *)[[DTViewController alloc] init];
    }
    NSString * str = NSStringFromClass([MPLauncherAppDelegate class]);
    NSString * str2 = NSStringFromClass([MPLauncherAppDelegate class]);

执行结果

至此, swift中使用mPaaS貌似已经没有问题了👏👏👏👏

上一篇 下一篇

猜你喜欢

热点阅读