让你看不懂的swift语法
2017-04-14 11:57
141 查看
一、Swift杂谈
Swift语法出来时间不长,网络上的各种教程已经铺天盖地,可是基本上全部的教程都是来自官方翻译。从Swift出来到如今。每天都在学习Swift。以下给出个人感受
Swift中的非常多概念来源于Objective-c(扩展、协议、外部參数名、闭包内存管理等),假设是Objective-c的老手能够非常快入手
Swift融合了众多语言的特性。入手简单可是短时间掌握全部语法还是有困难的
Swift开发应用更加高速,语言简单介绍,包含了非常多的高级特性
尽管Swift语言非常easy,手机相对于Objective-c要快。可是一些原理的东西还是起源于Objective-c。框架中尽管包含了Swift API,可是API的设计非常多都是苹果特有的,掌握一直到熟练,个人感觉与学习Objective-c不会相差太多。Swift是一个拉开档次的语言,我想他的出现会终结靠Objective-c语法吃饭那些人的高薪。对于那些懂得思想的人,Swift会成为一把利剑。让高手开发起来更加得心应手
二、那些你看不懂的语法
Swift的一些语法还是比較有意思的,这里给出几个小的代码片段,測试一下你看懂了没有:1、隐式类型与拆封(?
与!)
let possibleString: String? = "An optional string." if possibleString { println(possibleString) } let number1 = possibleString!.toInt() //compile error let number2 = possibleString.toInt()
2、String是struct。NSString是一个class,他们之间的关系
var str: String = "str" var nsStr: NSString = "NSString" var selector: Selector = "selector" var selector2: Selector = Selector("") str = nsStr nsStr = str
3、元组的类型怎么写
var tuple: (str: Int, str2: Int) = (2, 3) tuple.str = 4 tuple.1 = 2 let tuple2 = (4, 5) //compile error let2.0 = 1
4、闭包声明
var closurea: (Int, Int) -> Bool = { n1, n2 in return n1 > n2} var closureb: (Int, Int) -> Bool = {$0 > $1}
5、闭包传引用还是复制。以下打印多少
func add(#number: Int) -> () -> Int { var ret = 0 func incrementor() -> Int { ret += number return ret } return incrementor } let incrementor = add(number: 10) incrementor() incrementor() println(incrementor())
6、auto_closure
var closure1: @auto_closure () -> Int? = {return 3}() var closure2: @auto_closure () -> Int = 3 closure1() closure2()
7、struct哪行代码出错了
struct TestStruct1 { var test: String = "struct" } let struct1 = TestStruct1(test: "1111") struct TestStruct2 { var test: String = "struct" init() { } } //compile error let struct2 = TestStruct2(test: "2222")
相关文章推荐
- 让你看不懂的swift语法
- Swift相关概念语法简单理解
- Swift基本语法
- Swift 基础语法
- Swift语法基础入门三(函数, 闭包)
- 7.1 Swift枚举基本语法
- Swift3.0 CoreData Fetch语法的一些改变
- Swift基础语法(一)
- swift 2.2 语法 (中)
- [Swift系列]002-基础语法
- 【Swfit】Swift与OC两种语法写单例的区别
- 03-Swift干货:(Swift3.0的所有语法讲解)
- Swift 语法篇
- Swift之语法2(精简版)
- Swift2.1 语法指南——闭包
- swift基本语法(总结提炼版)之013 swift 之闭包返回值
- Swift基础语法2
- Swift2.1 语法指南——方法
- Swift语法09.元组
- Swift2.1 语法指南——访问控制