美文网首页
2018-07-27

2018-07-27

作者: super皮 | 来源:发表于2018-07-27 19:25 被阅读0次

    函数使用的注意事项:
    1.内部参数和外部参数
    内部参数:默认情况下所有的参数都是内部参数,默认情况从第二个参数开始既是内部参数也是外部参数。若希望第一个参数也是外部参数,可以在标识符前给该参数添加一个别名
    func sum(num1 : Int,num2 : Int) -> Int {
    return num1+num2
    }
    sum( 20, num2 : 20)
    func sum(num1 num1 : Int,num2 : Int,num3 : Int) -> Int{
    return num1 + num2 + num3
    }
    sum(num1 : 20, num2 : 30 ,num3 : 30)
    2.默认参数
    func makeCoffee(coffeeName : String = "雀巢") -> String {
    return "制作了一杯(coffeeName)咖啡"

    makeCoffee("拿铁")
    makeCoffee()
    3.可变参数
    func sum(num : Int...) -> Int {
    var result =0
    for n in num {
    result += n
    }
    return result
    }
    sum(18,20,30,40,50,50)
    4.指针类型
    inout让值类型以引用形式传递
    func swapNum(inout m : Int , inout n : Int){
    let temp = m
    m = n
    n = temp
    }
    swapNum(&m , n : &n)
    print("m:(m),n:(n)")
    5.函数的嵌套使用


    override:重写,如果写的某一个方法是对父类的方法进行的重写,那么必须在该方法前加上override
    class 类名: SuperClass {
    //定义属性和方法
    }
    定义的类可以没有父类,通常情况下定义类时,继承自NSObject
    类的属性 :
    存储属性:存储实例的常量和变量
    var name : String? = nil (定义成可选类型)
    计算属性:通过某种方式计算出来的属性
    var average : Double {
    return (a+b) * 0.5
    }
    类属性:与整个类自身相关的属性
    static var c : Int = 0
    自定义类的构造函数
    继承自NSObject的类 重写父类的构造函数
    override init( ) {
    //在构造函数中,如果没有明确super.init( ),系统会帮助调用super.init( )
    print("123")
    }
    init ( name : String, age : Int)
    {
    self.name=name
    self. age=age
    }
    init ( dict : [String : AnyObject] ) {
    let tempName = dict ["name"]
    //tempName是一个AnyObject?,转成String?
    name = tempName as? String
    if let tempAge = dict["age"] as? Int {
    age = tempAge
    }
    }
    //as?最终转成的类型是一个可选类型
    //as!最终转成的类型是一个确定的类型
    init (dict : [String : AnyObject] ) {
    super.init( ) //系统调用是在后面调用
    setValuesForKeysWithDictionary(dict)
    }
    属性监听器
    //属性即将改变时进行监听
    willSet {
    print(newValue) //改变之后的项
    }
    //属性已经改变时进行监听
    didSet {
    print(oldValue) //改变之前的项
    }

    相关文章

      网友评论

          本文标题:2018-07-27

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