Swift 如何构建一个Self类型的对象

原创 2016年08月31日 13:56:23

class WangMuMu {

var name: String
/*2.*/
/*
 即使按照  1  里面写的来做依然是不行的
 编译器会提示我们如果我们想要构建一个Self类型的对象需要有required关键字来修饰初始化方法,
 这是因为Swift必须保证当前类和子类都能相应init这个方法
 */

required init() {

    name = "qq"

}

//构建一个Self类型对象
func copy() -> Self {

   /*1.*/
    /* 我们返回的是当前类型的Self 如果我们写成  let result  = WangMuMu()
    则返回的是它的真实类型WangMuMu,这样编译是不通过的, 这里我们就需要用dynamicType它来做初始化了
    */
    let result  = self.dynamicType.init()

    result.name = "1"

    return result

}

}

尾记
另外dynamicType 还可以来获取一个对象的动态类型
示例
let name: String = “”

print(name.dynamicType)

输出:String

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Swift获取对象(Object)类型(Class)

本文转载自《获取对象类型》我们一再强调,如果遵循规则的话,Swift 会是一门相当安全的语言:不会存在类型的疑惑,绝大多数的内容应该能在编译期间就唯一确定。但是不论是 Objective-C 里很多开...

iOS编程基础-Swift(四)-对象类型

Swift、Xcode和Cocoa入门指南(iOS9 Programming Fundamentals With swift) 第四章 对象类型          第三章介绍了一些内建...

iOS编程基础-Swift(四)-对象类型(续)

Swift、Xcode和Cocoa入门指南(iOS9 Programming Fundamentals With swift) 第四章 对象类型          第三章介绍了一些内建...

Swift 对象类型转换

Swift 中对象是可以转换的,应为面向对象就会涉及继承,子类,父类等等 有几点规则我们先说一下 子类对象可以直接转换为父类对象的 父类对象可以有条件的转换为子类对象,这个我们下边在讲 首先我们创...

swift通过字符串获取类型实例化对象问题

相信大家都碰到过轮播图跳转问题,公司需求变来变去,一会儿要跳网页一会儿要跳原生界面,跳网页不需要太多解释,跳原生事情就比较多了,我们公司就是这么蛋疼,但是需求下来了也没办法。之前解决方法都比较傻,基本...

给定一个字符串类型的数组,数组元素值为数字组成的字符串对象, 将数组元素的进行拼接,拼接之后的数字值是最大的

今天闲来无事,偶然间看到了一个面试题,意思就是,给定一个字符串数组,数组中的元素为数字构成的字符串,问如何将这些数组元素进行拼接,拼接之后的数字时最大的,对于新手的我,可是费了一番功夫,想了好长时间才...

js中判断一个对象的类型的方法typeof/constructor/instanceof

javascript中检测对象的类型的运算符有:typeof、constructor、instanceof。 typeof:typeof是一个一元运算符,返回结果是一个说明运算数类型的字符串。如:"...

item31让函数根据一个以上的对象类型来决定如何虚化

#include /* >如果宇宙飞船以低速与太空站碰撞,宇宙飞船会泊进太空站(程序没有涉及) 否则宇宙飞船和太空站受到的损害与其速度成正比 >如果宇宙飞船与宇宙飞船碰撞,或是...

一个函数锁住相同类型的多个对象造成的死锁

一个类型中有个互斥量变量,一个函数锁住这个类型的多个对象,由于编码不注意加锁顺序在多线程环境下造成了死锁。 #include #include #include #include using n...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Swift 如何构建一个Self类型的对象
举报原因:
原因补充:

(最多只允许输入30个字)