判断“变量”或“对象”的类型

  • 1、在 swift 中,判断一个“对象”的类型:
let view1 = UIView()

view1.isKind(of: UIView.self)
view1.isMember(of: UIView.self)

  • 2、或者是通过 is 关键字:
let number1: Int = 10

let numberIsInt = (number1 is Int) ? true : false

  • 3、 或者通过Mirror:
    let string = "Hello World!"
    let array = [1, 2, 3, 4, 5, 6]
    let dict = ["1": 1, "2": 2, "3": 3]
    let view = UIView()
    let data = Data()


    func judgmentClass(_ obj: Any) {
        let mirrorType = Mirror(reflecting: obj).subjectType
        
        if mirrorType == String.self {
            //...
        } else if mirrorType == Array<Int>.self {
            //...
        } else if mirrorType == Dictionary<String, Int>.self {
            //...
        } else if mirrorType == UIView.self {
            //...
        } else {
            //...
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,198评论 4 61
  • 今天下午羽菲让我去接她,要把被子从托辅拿回来。我本想让她坐车带回来,怎么商量还是坚持让我去,说是书包太重,再加上被...
    羽菲傲霖阅读 137评论 0 0
  • 父亲节 我却没了父亲 可他 时刻在我心中 愈来愈满 愈来愈清晰 我笔笨拙 我词空乏 我怕写父亲 怕写不清他那重重恩...
    静夜听雨_787f阅读 593评论 8 18
  • 使人有面前之誉,不若使人无背后之毁 使人有乍交之欢,不若使人无久处之厌
    性本善良阅读 229评论 0 0