Swift 语法小结

Swift 语法小结

1.  Optional 就是枚举

An Optional is just an enum

enum Optional<T>{

case None

case Some(T)

}

2.Array的声明

var a=Array<String>()

var a=[String]()

let a=[“A”,”B”,”C”]不可改

let b=a[3]

遍历Array可使用for in

for array in a{

println(“\(array)”)

}

3.Dictionary

var dic=Dictionary<String,Int>()

var dic=[String:Int]()

dic=[“title1”:1,”title2”:2]

访问一个dictionary的值将返回Optional

let value=dic[“title3”]   返回nil

使用tuple遍历Dictionary

for (key,value) in dic {

println(“\(key)=\(value)”)

}

4.结构体Range  一个起点,一个终点,称之为合理类型,Range是范型

struct Range<T>{

var startIndex:T

var endIndex:T

}

a.在Array中Range中的类型是Int型,因为Array是通过Int索引  Range<Int>

b.String中时String的索引  Range<String.Index>

c.声明

let array=[“a”,”b”,”c”,”d”]

let subArray1=array[2...3]  ([“c”,”d”]) 闭区间

let subArray2=array[2..<3]  ([“c”])  左闭右开区间

遍历

for i in [27…104]{

println(“i=\(i)”)

}

5.NSObject(swift中所有的类都可以继承NSObject)

Objective-C中所有类的基类,比如UIViewController

6.NSNumber  装数字的类

let n=NSNumber(double:35.5)

将会以自身的值转为int或double

let intversion=n.intValue  / n.doubleVaule /n.boolValue

7.NSDate  存储日期,也可以获取当前日期和时间

Calendar,DateFormatter,DateComponents

8.NSData 比特包

传递无类型数据,原始数据

9.数据结构  类,枚举,结构

相同点:a.声明类似  b.可以有自己的属性和方法 c.都可以有自己的函数

不同点:a.Enum本身是不能存储任何值的,可以将值存储在枚举的关联信息中

b.枚举可以有计算型属性

c.结构体和类可以初始化

d.类有继承的性质,类型和转化都属于类的性质

e.枚举和结构体是 值传递,类是 引用传递

10.override  重写父类方法的关键字

final 可以将一个方法标为final,表示这个方法不能被重写

11.类和实例都有自己的方法和属性

var d:Double = -10

if d.isSignMinus {//isSignMinus是否是一个负数

d=Double.abs(d) //取绝对值

}

isSignMinus是实例d的变量或者说是d的属性

abs是Double类的方法(所有对象共享),向该方法中传入需要操作的Double类型的实例

类方法 static func abs(d:Double) -> Double

12.参数名

所有方法所有的参数都有一个内部名和外部名

内部名:在方法中拥有一个本地变量的名字,方法中冒号之前的

外部名:调用者准备使用的,调用方法是在冒号之前的

a.使用外部名

func foo(extenal internal:Int){

let local=internal

}

func bar(){

let result=foo(external: 123)

}

b.不使用外部名  _表示会被忽略,所有方法默认是采用该方式

//func foo(internal:Int)

func foo(_ internal:Int){

let local=internal

}

func bar(){

let result=foo(123)

}

c.强制使用内部名 #

func foo(#internal:Int){

let local=internal

}

func bar(){

let result=foo(internal:123)

}

d.非第一个参数推荐使用内部名和外部名,当然,你可以使用_忽略外表名,但这不是标准的做法

func foo(first:Int,externalSencond second:Double){

let local=second

}

func bar(){

let result=foo(123,externalSencond:5.5)

}

13.Property Observers(属性观察)

var someStoredProperty:Int = 42{

willSet{newValue}//属性设置前被调用

didSet{oldValue}//属性设置后被调用,可以用来对用户界面进行更新

}

override var someStoredProperty{

willSet{newValue}

didSet{oldValue}

}

使用场景:a.在自己的类中需存储属性,当其他方法设置它的值时,获得一个通知

b.当继承了某些类,你并不需要对这些类中的属性做什么修改,但当它们改变时你想知道

14.lazy  只有用到的时候才会被初始化

a.如果使用了很多资源,用lazy是不错的选择

lazy var brain=CalculatorBrain()

b.初始化的时候在后面放一个大括号,也就是通过执行这个闭包来初始化这个属性,但这个闭包直有在property被用到的时候才会执行

lazy var someProperty:Type={

return <the constructed vaule>

}()

c.可以使用一个方法来进行初始化,只有标记为lazy才可以这样用,因为在类初始化之前,类中的方法都是不可以被调用的

lazy var myProperty=self.initializeMyProperty()

15.initialization 初始化

a.无父类的类,默认有一个init()方法

b.如果一个结构体没有初始化,它将默认得到一个将所有属性作为参数的初始化方法,不需要实现

struct MyStruct{

var x: Int=42

var y: String=“moltuae”

init(x:Int,y:String)

}

c.在初始化方法里面可以设置任何属性的值,包括常量和变量

d.在类或结构体中可以调用自己的init方法 self.init(),类中可以调用父类的初始化方法 super.init()

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-27 11:26:59

Swift 语法小结的相关文章

Swift语法快速索引

在WWDC的演示中就可以看出来Swift这个更接近于脚本的语言可以用更少的代码量完成和OC同样的功能.但是对于像我一样在战争中学习战争的同学们来说,天天抱着笨Swift Programming Language Reference之类的大部头看不实际.毕竟还是要养家糊口的.而且,那么1000+页内容讲的东西不是什么都要全部在平时工作中用到的.咱们就把平时用到的全部都放在一起,忘记了立马翻开看看,不知不觉的就学会了之后变成习惯.这样多省事. 变量 1 // Variable 2 var int_v

Swift语法基础入门三(函数, 闭包)

Swift语法基础入门三(函数, 闭包) 函数: 函数是用来完成特定任务的独立的代码块.你给一个函数起一个合适的名字,用来标识函数做什么,并且当函数需要执行的时候,这个名字会被用于“调用”函数 格式: func 函数名称(参数名:参数类型, 参数名:参数类型...) -> 函数返回值 { 函数实现部分 } 没有参数没有返回值 可以写为 ->Void 可以写为 ->() 可以省略 Void.它其实是一个空的元组(tuple),没有任何元素,可以写成() func say() -> V

让你看不懂的swift语法

一.Swift杂谈 Swift语法出来时间不长,网络上的各种教程已经铺天盖地,但是基本上所有的教程都是来自官方翻译.从Swift出来到现在,每天都在学习Swift,下面给出个人感受 Swift中的很多概念来源于Objective-c(扩展.协议.外部参数名.闭包内存管理等),如果是Objective-c的老手可以很快入手 Swift融合了众多语言的特性,入手简单但是短时间掌握所有语法还是有困难的 Swift开发应用更加快速,语言简介,包括了很多的高级特性 虽然Swift语言很简单,手机相对于Ob

iOS开发swift语法初级篇—————(swift技术交流群:361513739)

iOS开发之swift语法初级篇:点击打开链接 swift技术交流QQ群361513739 iOS开发swift语法初级篇-----(swift技术交流群:361513739)

Swift语法入门

目录[-] Hello world - Swift 简单赋值 控制流 函数与闭包 对象和类 枚举与结构 协议和扩展 泛型 2014.6.3日,苹果公布最新编程语言Swift,Swift是一种新的编程语言,用于iOS和OS X应用的开发,没有C的兼容性限制,Swift采用安全的编程模式,增加了现代功能,使编程变得容易,更灵活,更有趣,Swift的重新设计,依靠成熟和 备受喜爱的Cocoa, Cocoa Touch 框架,是重新构想软件如何开发的机会. Swift官网 关于Swift 以下为语法介绍

《Swift语法快速入门》已可购买,《Swift殿堂之路》接受预定

<Swift语法快速入门>已由电子工业出版社出版,京东当当有售.需要签名版本的朋友,请与我联系.另外,IOS开发常用类库实例演练<Swift殿堂之路>已接受预订,预订链接:http://www.swiftbang.com/read-5-1 在学习Swift的过程中,如有任何疑问,请加入Swift书友会QQ群:259152129,与作者一起讨论.研究Swift开发技术! 欢迎你!

ios -- 教你如何轻松学习Swift语法(二)

前言:swift语法基础篇(二)来了,想学习swift的朋友可以拿去参考哦,有兴趣可以相互探讨,共同学习哦. 一.可选类型(重点内容) 1.什么是可选类型? 1.1在OC开发中,如果一个变量暂停不使用,可以赋值为0(基本属性类型)或者赋值为空(对象类型) 1.2在swift开发中,nil也是一个特殊的类型.因为和真实的类型不匹配是不能赋值的(swift是强类型语言) 1.3但是开发中赋值nil,在所难免.因此推出了可选类型 目的:让代码更加严谨 2.可选类型的取值 可选类型要么是:空值 , 要么

ios -- Swift语法(一)

目前随着公司开发模式的变更,swift也显得越发重要,相对来说,swift语言更加简洁,严谨.但相对而言,感觉swift细节的处理很繁琐,可能是还没适应的缘故吧.基本每写一句代码,都要对变量的数据类型进行判断,还要进行强转等等. 好了,废话不多说了,直接把我对swift的语法的一些理解奉献给大家,希望能对学习swift语法的朋友有所帮助,如有不足之处,还请多多包涵,如果有错误之处,欢迎指正 Swift 介绍 简介 Swift 语言由苹果公司在 2014 年推出,用来撰写 OS X 和 iOS 应

一、Swift 语法概述

Swift是Apple最新推出的语言,用于编写iOS和OS X程序,与C语言和Objective-C兼容.本系列的文章中的一些例子,都来自于苹果官方的GUIDE: The Swift Programming Language,有兴趣的同学可以去苹果的官网下载英文原版的iBook. 一.Hello world Swift中不需要main函数,也不需要用;分开每一行的语句,一个简单的Hello world如下所示: println("Hello, world") 二.赋值 使用let来创建