目的:
1.知道Swift中有命名空间
-在同一个命名空间下,全局共享!
-第三方框架使用Swift如果直接拖拽到项目中,从属于同一个命名空间,很有可能冲突!
-以后尽量都要用cocoapod
2.重点知道Swift中的NSClassFromString(反射机制)的写法
-反射最重要的目的,就是为了解耦
OC反射机制 NSClassFromString isMemberOfClass iskindofClass等
//
// AppDelegate.swift
// 反射机制
//
// Created by liyunxiang on 2017/6/22.
// Copyright © 2017年 liyunxiang. 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 className = "反射机制.ViewController"
//AnyClass? -> 视图控制器的类型
let vc = NSClassFromString(className) as? UIViewController.Type
// let vc = ViewController()
//使用类创建视图控制器
//UIViewController?
window?.rootViewController = vc?.init()
//3.让window可见
window?.makeKeyAndVisible()
return true
}
}
作者:liyunxiangrxm 发表于2017/6/22 10:21:09 原文链接
阅读:70 评论:1 查看评论