设为首页 加入收藏

TOP

李洪强经典面试题53-Swift(二)
2019-09-03 02:40:02 】 浏览:260
Tags:李洪强 经典 试题 53-Swift
x: String, _ y: String) -> Bool { return x == y } areStringsEqual("ray", "ray") // true areIntEqual(1, 1) // true

一个Objective-C开发者可能会采用NSObject来解决问题:

-    import Foundation - func areTheyEqual(x: NSObject, _ y: NSObject) -> Bool { - return x == y - } - areTheyEqual("ray", "ray") // true - areTheyEqual(1, 1) // true

这段代码能达到了目的,但是编译的时候并不安全。它允许一个字符串和一个整型数据进行比较:

-     areTheyEqual(1, "ray") //程序可能不会崩溃,但是允许一个字符串和一个整型数据进行比较可能不会得到想要的结果。 采用泛型的话,你可以将上面两个方法合并为一个,并同时还保证了数据类型安全。这是实现代码: - func areTheyEqual<T: Equatable>(x: T, _ y: T) -> Bool { - return x == y - } - areTheyEqual("ray", "ray") - areTheyEqual(1, 1)

```

文章如有问题,请留言,我将及时更正。

文章转载自:http://www.pythonheidong.com/blog/article/2572/

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Swift--面试题及答案 下一篇iOS 开发者必不可少的 75 个工具

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目