美文网首页
swift 4.0 泛型

swift 4.0 泛型

作者: 透支未来 | 来源:发表于2018-01-29 09:06 被阅读183次

泛型


import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
       pringElemtFormArr(a: stringArr)
        pringElemtFormArr(a: intArr)
        pringElemtFormArr(a: doubleArr)
        
        
        donoting(x: 123)
        donoting(x: "123")
        donoting(x: true)
        
        
    }

    var stringArr = ["hi","hello","bye"]
    var intArr = [1,2,3]
    var doubleArr = [1.1,2.2,3.3]

    //普通方法
    func printAreingArr(a:[String]) {
        for s in a {
            print(s)
        }
    }

    func pringIntArr(a:[Int]) {
        for i in a {
            print(i)
        }
    }
    
    
    //泛型的方法 T代表任意类型
    func pringElemtFormArr<T>(a:[T]) {
        for element in a {
            print(element)
        }
    }
    func donoting<T>(x:T) -> T {
        return x
    }
}

Swift中mutating关键字

Swift中protocol的功能比OC中强大很多,不仅能再class中实现,同时也适用于struct、enum。
使用 mutating 关键字修饰方法是为了能在该方法中修改 struct 或是 enum 的变量,在设计接口的时候,也要考虑到使用者程序的扩展性。所以要多考虑使用mutating来修饰方法。


import UIKit

struct GenericArr<T> {
    var items = [T]()  //创建数组
    
    mutating func push(item:T) {
        items.append(item)
    }
}
class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
       var myPhone = ["ipone5","iphone6","iphone7"]
        var LisaArr = GenericArr(items: myPhone)
        LisaArr.push(item: "iphon7 plus")
        print( LisaArr.items)
    }

}


相关文章

  • MVVM+ReactiveCocoa+Swift4.0 iOS项

    MVVM+ReactiveCocoa+Swift4.0 iOS项目学习实践(2) 使用泛型+HandyJSON便捷...

  • swift 4.0 泛型

    泛型 Swift中mutating关键字 Swift中protocol的功能比OC中强大很多,不仅能再class中...

  • Android 学习(一):Java 泛型

    Java泛型学习 1.0 泛型常用案例 2.0 泛型方法 3.0 泛型类 4.0 通配符 ? 通配符,占位符,标识...

  • Swift-泛型笔记

    Swift 泛型 Swift 提供了泛型让你写出灵活且可重用的函数和类型。 Swift 标准库是通过泛型代码构建出...

  • [ WWDC2018 ] - Swift 泛型 Swift Ge

    Swift 泛型历史 我们首先来回顾一下 Swift 中对于泛型支持的历史变更,看看现在在 Swift 中,泛型都...

  • Swift 运用协议泛型封装网络层

    Swift 运用协议泛型封装网络层 Swift 运用协议泛型封装网络层

  • 2021-12-01

    swift5基本语法-泛型函数和泛型类型 Swift中泛型可以将类型参数化,提高代码复用率,减少代码量。 一、泛型...

  • swift 泛型

    Swift-泛型学习和实例总结 - Mazy's Blog - CSDN博客 Swift中的泛型 - 简书

  • 使用Web浏览器编译Swift代码,及Swift中的泛型

    使用Web浏览器编译Swift代码,及Swift中的泛型 使用Web浏览器编译Swift代码,及Swift中的泛型

  • 【Swift】泛型常见使用

    1、Swift泛型4种 泛型函数泛型类型泛型协议泛型约束 2、泛型约束3种 继承约束:泛型类型 必须 是某个类的子...

网友评论

      本文标题:swift 4.0 泛型

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