美文网首页
Swift方法

Swift方法

作者: 奔跑的鸿 | 来源:发表于2020-06-26 14:50 被阅读0次
  • 在 Objective-C 中,类是唯一能定义方法的类型。Swift中类/结构体/枚举都能定义方法。在 Swift 语言中,实例方法是属于某个特定类、结构体或者枚举类型实例的方法。

  • 实例方法特性

    • 实例方法要写在它所属的类型的前后大括号({})之间
    • 实例方法能够隐式访问它所属类型的所有的其他实例方法和属性
    • 实例方法只能被它所属的类的某个特定实例调用
    • 实例方法不能脱离于现存的实例而被调用
  • 函数的参数可同时有内部参数名(内部使用)和外部参数名(调用函数时使用)。当只有内部参数名时,编译器会为参数自动创建一个和内部参数名相同的外部参数名。

  • 实例方法的参数前面加"_",则调用时必须省略外部名称

class Person {
    var _name: String = "HaRi"
    var _age: Int = 26
    //如果不希望某个参数作为外部参数使用, 可以在参数前面加上 _ , 忽略外部参数
    func setName(name: String, _ age: Int)
    {
        _name = name
        _age = age
    }
    func show()
    {
        print("name = \(_name) age = \(_age)")
    }
}
var p = Person()
p.show()

// p.setName(name:"xiaoHan", age:100) Error!
p.setName(name: "hjq", 88) //正确姿势
p.show()
  • 类中用class/static关键字来声明类方法
class Person {
    var _name:String = "kong"

    // 实例方法
    func sayHello(){
        println("say \(_name)")
    }

    // 类方法
    class func sayHi() {
        println("class method")
    }
}

// 调用 实例方法
var per = Person()
per.sayHello()

// 调用类方法
Person.sayHi()

以上也可以用static声明类方法,static声明的类方法不可被子类重写

     static func sayHi() {
        println("class method")
    }
  • 结构体和枚举中用static关键字声明类方法
struct Person4 {
    var name: String = "HanJunqiang"
    static var card: String = "1234567"
    func show()
    {
        print("name = \(name) card = \(Person4.card)")
    }

    static func staticShow()
    {
        //类方法中没有self
        //静态方法对应OC中的+号方法, 和OC一样在类方法中不能访问非静态属性
        print("card = \(Person4.card)")
    }
}

var p4 = Person4()
p4.show()
Person4.staticShow()

相关文章

  • Swift 类方法和实例方法

    Swift方法声明 Swift方法调用

  • NSButton仿UIButton功能

    swift方法参考 CustomButton.swift Utilities.swift OC方法参考 《macO...

  • swift语法--11getter&setter方法

    swift语法--11getter&setter方法 swift中的setter方法 但在Swift开发中,我们用...

  • Quartz2D - 1

    开源框架CorePlot oc oc使用方法: Swift swift 使用context的方法:

  • OC和Swift混编遇到的一些小麻烦

    一. OC中调用swift类中的方法时,编译器有时找不到方法声明 OC调用swift类中的方法,swift类需要有...

  • 从零学习Swift 08: 继承体系

    一: 方法 方法的定义: 同 OC 一样, Swift 也有实例方法和对象方法: 在 Swift 中,类,结构体,...

  • Swift基础--方法

    Swift基础--方法 swift中方法分为实例方法和静态方法,方法时于默写特定类型相关联的函数.类,结构体,枚举...

  • swift方法

    oc中只有类可以定义方法,swift类/结构体/枚举都能定义方法 swift的类型方法类似oc的类方法 实例方法(...

  • oc Swift 混编

    oc Swift 混编 oc 项目 混编Swift1.1 oc 调用 Swift 的类 和 方法步骤: ...

  • Flutter 高阶函数

    Swift 转 Dart,有些方法还是有通用的。 1,forEach 此方法提供遍历。 2,map 和Swift ...

网友评论

      本文标题:Swift方法

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