iOS面试资料搜集iOS面试题+基础知识

swift面试题(面试指南)

2020-03-09  本文已影响0人  一意孤行的程序猿

1.Class 和 Struct 的区别

2.理解Swift值类型的写时复制

3.defer的用法

func doSomethingFile{
    openDirectory()
    defer{
        closeDirectory()
    }
    openFile()
    defer{
        closeFile()
    }
    // do other things
}

复制代码

4.inout 输入输出参数

func swapTwoInts(_ a: inout Int, _ b: inout Int) {
    let temporaryA = a
    a = b
    b = temporaryA
}
// 参数a本身定义是常量,inout修饰,可以修改a的值
var someInt = 3
var anotherInt = 107
swapTwoInts(&someInt, &anotherInt)
print("someInt is now \(someInt), and anotherInt is now \(anotherInt)")
// Prints "someInt is now 107, and anotherInt is now 3"

5.什么是高阶函数

6. static和class的区别

作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:789143298 进群密码123,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!

7.自定义模式匹配模式

switch 80 {
case "eighty":
    //编译通过并且匹配
case "not eighty":
    //
default:
   break
}
//以上代码编译直接失败失败
//重载 ~= 函数
func ~= (pattern: String, value: Int) -> Bool {
    if pattern == "eighty" {
        return value == 80
    } else if pattern == "not eighty" {
        return value != 80
    } else {
        return false
    }
}

switch 80 {
case "eighty":
    //编译通过并且匹配
case "not eighty":
    //
default:
   break
}
该switch编译通过

8.dynamic framework 和 static framework 的区别是什么

9. Swift 与 Objective-C 的联系与区别?

10. Swift 比 Objective-C 有什么优势?

11.Swift 是面向对象还是函数式的编程语言?

12.请说明并比较以下关键词:Open, Public, Internal, File-private, Private

13.请说明并比较以下关键词:strong, weak, unowned

14. 说说Swift为什么将String,Array,Dictionary设计成值类型?

要解答这个问题,就要和Objective-C中相同的数据结构设计进行比较。Objective-C中,字符串,数组,字典,皆被设计为引用类型。

15. 闭包是引用类型吗?

16.Swift mutating关键字的使用?

喜欢的话可以点个赞:+1:或关注。

作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的点击加入群聊iOS开发交流学习群:789143298 进群密码123,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!

收录:原文地址

上一篇下一篇

猜你喜欢

热点阅读