Swift4.0 学习笔记 第二十九节:反射机制

  • Post author:
  • Post category:其他



//





//  AppDelegate.swift





//  反射机制





//





//  Created by 庄壮勇 on 2018/1/10.





//  Copyright © 2018年 Personal. All rights reserved.





//



import


UIKit



@UIApplicationMain





class


AppDelegate:


UIResponder


,


UIApplicationDelegate


{






var


window:


UIWindow


?





/**





1. 知道 Swift 中有命名空间





– 在同一个命名空间下,全局共享!





– 第三方框架使用 Swift 如果直接拖拽到项目中,从属于同一个命名空间,很有可能冲突





– 以后尽量都用用 cocoapod





2. 重点要知道 Swift 中 NSClassFromString(反射机制) 的写法





– 反射最重要的目的,就是为了解耦!





– 搜索 ‘反射机制和工厂方法’!





– 提示: 第一印象会发现一个简单的功能,写的很复杂





– 但是, 封装的很好,而且弹性很大!





*/







func


application(


_


application:


UIApplication


, didFinishLaunchingWithOptions launchOptions: [


UIApplicationLaunchOptionsKey


:


Any


]?) ->


Bool


{








// *** 代码中的 ? 都是 ‘可选’解包,发送消息,不参与计算







// 所有的?都是Xcode 自动添加的!







// 1. 实例化 window







window


=


UIWindow


()







window


?.


backgroundColor


=


UIColor


.


white












// 2. 设置 跟控制器, 需要添加命名空间 -> 默认就是 ‘项目名称’(最好不要有数字和特殊符号)







let


clsName =


“反射机制.ViewController”







// AnyClass?







let


cls =


NSClassFromString


(clsName)


as


?


UIViewController


.Type












// 使用类创建视图控制器







// UIViewController?







let


vc = cls?.


init


()












// let vc = ViewController()












window


?.


rootViewController


= vc












// 3. 让 window 可见







window


?.


makeKeyAndVisible


()












return


true





}





}



版权声明:本文为mn704058053原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。