美文网首页swift
swift中的命名空间

swift中的命名空间

作者: 梁森的简书 | 来源:发表于2021-04-28 10:20 被阅读0次

OC中没有命名空间,如果直接使用两个不同库,而且这两个库中都使用了同一个流行的三方,那么就会产生冲突。
swift中,不同命名空间(module)的类即使同名也不会冲突。
我们在项目中创建的类完全可以和pod库中的类同名。

由于命名空间的存在,我们无法通过NSClassFromString获取到类,如果要想获取到类,需要在字符串前加上“.”和“命名空间” 。
代码:

if let cls = NSClassFromString(getAPPName() + "." + "FirstViewController") as? UIViewController.Type {
            let vc = cls.init()
            self.present(vc, animated: true)
        } else {
            debugPrint("nil...")
        }

func getAPPName() -> String {
        guard let appName = Bundle.main.object(forInfoDictionaryKey: "CFBundleExecutable") as? String else { return "" }
        return appName
    }

相关文章

  • Swift中String转Class类名

    String->Class Swift中引入了命名空间的概念,转Class需要拼接命名空间 注意Swift中引入了...

  • Swift学习之通过字符串创建对象

    一、swift的空间命名机制在 Swift 中,由于可以使用命名空间了,即使是名字相同的类型,只要是来自不同的命名...

  • Swift添加命名前缀

    Swift命名前缀 Swift的命名空间是基于模块(module),每一个module代表了一个Swift中的一个...

  • Swift中的命名空间

    命名空间 Objective-C一个一直以来令人诟病的地方就是没有命名空间,在应用开发时,所有的代码和引用的静态库...

  • Swift中的命名空间

    命名空间namespace在C++、C#里面是一个常见概念,Swift中也引入了这样一个机制,下面来探索一下这个命...

  • swift中的命名空间

    OC中没有命名空间,如果直接使用两个不同库,而且这两个库中都使用了同一个流行的三方,那么就会产生冲突。swift中...

  • Swift 基础(3) -- 根据类名创建对象

    1. 基础 Swift中的类名 在Swift中的类名是 : 命名空间 + 类名 .(比如:TestDemo.Per...

  • swift学习之语法基础二

    命名空间 swift中引入了命名空间的概念,只要在同一个命名空间下所有的资源都是共享的,而且默认情况下项目名称就是...

  • swift开发日志(一){命名空间,泛型,闭包}

    swift 的命名空间 涉及到NSClassFromString,在Swift中的使用方式与OC是有区别,并不像O...

  • swift-基础-一些OC与Swift的对照

    OC中的dealloc--Swift中的deinit。对象释放的时候会调用 Swift中如果文件在同一个命名空间下...

网友评论

    本文标题:swift中的命名空间

    本文链接:https://www.haomeiwen.com/subject/edusvktx.html