小编Ali*_*li 的帖子

类型方法和类型实例方法等之间的区别?

注意:我已经阅读了苹果文档并研究了一本快速的书.

  1. 我对"类型实例方法"(如果存在,如果我错了,请纠正我)和类型方法之间的区别感到困惑?

  2. 类方法和实例方法的区别?

  3. 类型属性和实例属性之间的区别(如果存在,抱歉我对类型属性主题非常困惑)?

  4. 最后,Do类属性是否存在于swift中?

对困惑感到抱歉 :'(

types properties swift

12
推荐指数
1
解决办法
6126
查看次数

为同一参数设置两个不同的名称有什么意义?

func mapEachElement (inArray arr: [Int],  withFunc aFunc: (Int))
Run Code Online (Sandbox Code Playgroud)

为什么会有"inArray然后"arr"...有什么意义?

对于"withFunc和"aFunc"来说,它使代码更复杂,阅读更麻烦,为什么它们甚至被使用?

parameters function swift

9
推荐指数
2
解决办法
447
查看次数

在Swift中声明函数类型变量有什么意义?

在此输入图像描述

我从一本书中得到了这个,这个代码用在了didSet方法中,我很困惑为什么当你能编写一个调用函数slowdown()或函数speedup()的函数时这会有用呢?这基本上是声明一个"变量函数"和"将它设置为等于它自己的定义"然后返回一个"函数"?(如我错了请纠正我).当我可以创建一个函数时,为什么需要使用变量并将其设置为等于定义?那有用的是什么?

variables function swift

3
推荐指数
1
解决办法
54
查看次数

Swift中的铸造和向下铸造混乱?

class Media {
    var name :String = ""
    init(name:String) {
        self.name = name
    }
}

class Song:Media {}

class Movie:Media{}

let s1 = Song(name :"Fireproof")
var m1 :Media = s1 //upcasting

//var s2 :Song = m1
var s2:Song = m1 as Song //down casting

// var x1 :Movie = m1 as Movie //
Run Code Online (Sandbox Code Playgroud)
  1. 在行上var m1: Media = s1你可以设置m1等于s1因为m1's类型是超类s1

  2. 在线var s2: Song = m1 as Song,它被认为是"向下铸造",是因为m1: Media并且你"铸造"它"作为"一种 …

casting type-conversion downcast upcasting swift

3
推荐指数
1
解决办法
3373
查看次数