美文网首页
Swift 2 学习笔记 17.扩展和泛型

Swift 2 学习笔记 17.扩展和泛型

作者: Maserati丶 | 来源:发表于2018-11-26 20:23 被阅读0次

课程来自慕课网liuyubobobo老师


扩展
  • 扩展基础
class Rectangle{
    var width: Double = 0.0
    var height: Double = 0.0
    
    init(width: Double, height: Double) {
        self.width = width
        self.height = height
    }
}

extension Rectangle{
    func size() -> Double{
        return self.width * self.height
    }
    // 扩展中只能添加计算属性
    // 扩展中只能添加方便构造函数
}

let rect = Rectangle(width: 3, height: 2)
rect.size()  // 6
  • 扩展标准库
extension Int {
    var square: Int {
        return self*self
    }
}

let num = 6
num.square  // 36
  • 泛型函数
func swapTowNum<T>(_ num1: inout T, _ num2: inout T) {
    (num1,num2) = (num2,num1)
}

var a = 1.0
var b = 2.0
swapTowNum(&a, &b)
  • 泛型类型
struct Stack<T> {
    var items = [T]()
    
    func isEmpty() -> Bool {
        return items.count == 0
    }
    
    mutating func push(_ item: T) {
        items.append(item)
    }

    mutating func pop() -> T? {
        guard !self.isEmpty() else {
            return nil
        }
        return items.removeLast()
    }
}

var s = Stack<Int>()
s.push(1)
s.pop()

相关文章

  • Swift 2 学习笔记 17.扩展和泛型

    课程来自慕课网liuyubobobo老师 扩展 扩展基础 扩展标准库 泛型函数 泛型类型

  • swift 泛型

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

  • Swift和OC的区别

    Swift和OC的区别? 1、Swift没有地址和指针的概念 2、Swift对数据类型要求极为严谨 3、泛型,泛型...

  • Swift中的泛型

    1、typealias和泛型接口2、泛型扩展 1、typealias和泛型接口 typealias是用来为已经存在...

  • 《Swift从入门到精通》(十九):泛型

    泛型(学习笔记) 环境Xcode 11.0 beta4 swift 5.1 泛型可解决的问题如两个 Int 类型交...

  • Kotlin for android学习六:泛型

    前言 kotlin官网和kotlin教程学习教程的笔记。 1. 声明泛型 2. 泛型约束 : 对泛型的类型上限进行...

  • Swift-泛型笔记

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

  • MVVM+ReactiveCocoa+Swift4.0 iOS项

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

  • 【Swift】泛型常见使用

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

  • Swift学习笔记-泛型

    泛型能让我们使用的类型和函数使用未知的类型,许多内置类型,例如可空类型,数组和字典都是用泛型实现的。 泛型类型 下...

网友评论

      本文标题:Swift 2 学习笔记 17.扩展和泛型

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