苹果Swift语言与一般的编程语言没有太大的区别,只是针对iOS和Mac设备有一些特殊的调用函数,具备一定编程基础的开发者可以迅速上手。
以下内容均可创建ios common line项目来测试
1、Hello World示例
使用xcode创建新的common line项目,查看主文件main.swift,已经自动敲入println"HelloSwift"的代码了
--------------------------------------------------------
2 变量和常量
var a = 1 //变量
a = 10 //给变量赋值
var b = 2 //变量
let c = a+b //定义一个常量c,c的值等于变量a和变量b的和
printLn(c) //打印c
--------------------------------------------------------
3 swift语言的类型
var str = "hello" //无类型,即自动识别类型
var s:String = "World" //字符串类型
var i:Int = 100 //int类型
var words:String = "http://blog.csdn.net/taotao3686"//
println(str)
--------------------------------------------------------
4 字符串连接
var str = "hello "
str = str + "xiangtao"
str = str + 100 //错误,字符串和数字不能直接用+连接
str = "\(str),adasdf,\(100)" //正确,swift连接字符串的方法
var i = 200
str = "\(str),adasdf,\(i)" //正确,连接字符串和数字变量, 输出hello xiangtao,adasdf,200
println(str)
--------------------------------------------------------
5 数组
var arr = ["hello", "xiangtao", 100, 2.3] //swift数组
println(arr)
var arr1 = [] //空数组
var arr2 = String[]() //只能存放String的空数组
--------------------------------------------------------
6 字典Dict的用法
var dict = ["name":"xiangtao","age":"16"]
dict["sex"]="female"
println(dict)
println(dict["name"])
--------------------------------------------------------
7 循环
//遍历数组
var arr = String[]() //定义一个空的字符串数组
//for遍历数组 方式1
for index in 0..100{
arr.append("item \(Index)") //给数组赋值
}
println(arr)
//for遍历数组 方式2
for value in arr{
println(value)
}
//while遍历数组
var i = 0
while i<arr.count {
println(arr[i])
i++
}
//遍历字典
var dict = ["name":"xiangtao","age":"16"]
for (key,value) in dict{
println("\(key),\(value)")
}
--------------------------------------------------------
8 流程控制(判断分支)
//打印100以内偶数
for index in 0..100{
if index%2==0{
println(index)
}
}
//可选变量(O-C中没有)
var myName:String?="xiangtao" //注意问号
myName = nil
if let name=myName{ //为空则不执行
println("hello \(name)")
}
--------------------------------------------------------
9 函数
func sayHello(name:String){
println("hello \(name)")
}
sayHello("xiangtao")
//swift可以返回多个值
func getNums()->(Int,Int){
return (2,3)
}
let (a,b) = getNums()
println(a) //输出2
//函数当做变量来使用
var fun = sayHello
fun("zhangsan")
//也支持函数闭包(函数内部写函数)
..
--------------------------------------------------------
10 面对对象
class Hi{
func sayHi(){
println("hi xiangtao")
}
}
var hi = Hi()
hi.sayHi()
//继承
class Hello:Hi{
}
var h = Hello()
h.sayHi()
//重写
class Hello2:Hi{
var _name:String
//构造方法
init(name:String){
self._name = name
}
override func sayHi(){
println("hello \(self._name)")
}
}
var h2 = Hello2(name: "zhangsan")
h.sayHi()
--------------------------------------------------------
11 开发ios项目
显示一个网页,新建项目选择IOS->Application->Single View Application
修改ViewController.swift
Web View拖到ViewController
//修改viewDidLoad函数
override func viewDidLoad(){
@IBOutlet var wv:UIWebView
wv.loadRequest(NSURLRequest(URL:NSURL(string:"http://blog.csdn.net/taotao3686")))
}