Quantcast
Channel: CSDN博客移动开发推荐文章
Viewing all articles
Browse latest Browse all 5930

015--Swift反射机制

$
0
0

目的:

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 查看评论

Viewing all articles
Browse latest Browse all 5930

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>