swift
- 2014年6月swift发表
- 1.创建对象的不同,创建一个view对象
import UIKit
let view=UIView(frame:CGRect(x: 0, y: 0, width: 100, height: 100))
view.backgroundColor=UIColor.redColor()
let btn=UIButton(type: UIButtonType.ContactAdd)
btn.center=CGPoint(x: 50, y: 50)
view.addSubview(btn)
let num=10.1
var value=10
value=8
print(value)
let num1=10
let num2 = 9.1
let iSum = num1+Int(num2)
let dSum = Double(num1)+num2
let num3:Int=10
let num4:Int = Int(10.1)
/**
Swift中的if的使用方式“基本上”和OC一致
1.Swift中的if可以省略()
2.Swift中哪怕if后面只有一条语句,也不能省略{}
3.在C和OC中,有一个概念非0即真
在Swift中,条件只能放bool值,取值只有两个ture/false
*/
let num = 10
if(num==10){
print("OK")
}
if num==10{
print("OK")
}
/**
Swift中的switch
1. 后面的()可以省略
2.OC中的switch如果没有break会穿透,但是Swift不会穿透
3.OC中如果要在case中间定义变量,必须加上{}确定作用域,而Swift中不用
4.OC中default的位置可以随便写,只有所有的case不满足才会执行default,而Swift中的default只能放在最后
5.OC中的default可以省略,Swift中“大部分”情况下不能省略
*/
let num1 = 1
switch num1{
case 1:
print("1")
case 2:
print("2")
case 3:
print("3")
default:
print("other")
}
/**
Swift中的for循环,和OC基本一致
*/
//Swift特色循环
//0..<10代表一个区间范围 从0开始到9 ,包含头不包含尾
//0到9赋值给i,再执行print(i)
for i in 0..<10
{
print(i)
}
//不需要i的值, _ 代表忽略,如果不关心某个参数,就可以使用 _
//Swift中 _ 使用频率非常高
for _ in 0..<10
{
print("xxp")
}
//0...10代表一个区间范围 从0开始到10 ,包含头包含尾
for i in 0...10
{
print(i)
}
/* Swift中的while循环,和OC差不多,而且在开发中很少使用while*/
var a = 0
while a < 10
{
print(a)
a += 1
}
/*
Swift升级2.0之后,do while 循环发生了很大的变化
do while没有do乐,因为do被用作捕获异常了,取代之前do的是repeat
*/
var b = 0
repeat
{
print(b)
b+=1
}while b<10
import UIKit
let num = 10
if num==5{
print("5")
}else {
print("10")}
/**
在OC中if else 可以使用三目运算符来简写
注意:在做Swift开发中三目运算符用的非常非常多
*/
let res = (num==5) ? 5 : 10
print(res)
let url = NSURL(string: "http://www.520it.com/")
print(url)
print(url!)
let url1 = NSURL(string: "http://www.520it.com/图片")
print(url1)
if let urlFinal = url{
let request=NSURLRequest(URL: urlFinal)
}
import UIKit
let dict=["name": "xp","age":"26"]
dict["name"]
for key in dict.keys
{
print(dict[key])
}
for (k,v) in dict
{
print(k)
print(v)
}
var dict2=["name": "xp","age":"26"]
dict2["gender"]="man"
dict2
dict2["name"]="zhangsan"
dict2
dict2.removeValueForKey("name")
dict2
var dict4 = ["name" : "yz", "age" : 20]
var dict5 = ["height" : 1.87, "phoneNum" : "+86 110"]
for (key, value) in dict4 {
dict5[key] = value
}
dict5
import UIKit
var str:String = "xxp"
var str1 = "cool"
str += str1
let num=26
let name = "xp"
var str3 = "name= \(name),age=\(num)"
var str4=String(format: "%02d:%02d:%02d",arguments:[9,8,13])
var str5:NSString="xxp nb"
var str6 = "xxp fc nb" as NSString
var subStr=str5.substringWithRange(NSMakeRange(2, 3))
/*
Swift定义函数的格式:
语义:将前面计算的结果返回给 -> 返回值
func 函数名称(参数列表) -> 返回值
{
执行代码
}
*/
//无返回值无参数
//1.()替代Void 2.省略->Void
func say() -> Void
{
print("hello")
}
say()
func say1() -> ()
{
print("hello")
}
say1()
func say2()
{
print("hello")
}
say2()
//无返回值有参数
func sum(a:Int ,b:Int)
{
print(a+b)
}
sum(10, b: 20)
//有返回值无参数
func getNum() -> Int
{
return 10
}
print(getNum())
//有返回值有参数
func sum1(a:Int ,b:Int) -> Int
{
return (a+b)
}
print(sum1(10, b: 10))
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
/**
闭包和OC中的Block非常像是
OC中的Block类似于匿名函数
闭包是用来定义函数
作用:Block是用于保存一段代码,在需要的时候执行
闭包也是用于保存一段代码,在需要的时候执行
做一个耗时操作
*/
}
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
dispatch_async(dispatch_get_global_queue(0, 0)) { () -> Void in
print(NSThread.currentThread())
print("执行耗时操作")
dispatch_async(dispatch_get_main_queue(), {
print(NSThread.currentThread())
print("回到主线程跟新UI")
})
}
}
}
打印结果
<NSThread: 0x7fb3227120a0>{number = 2, name = (null)}
执行耗时操作
<NSThread: 0x7fb3224049a0>{number = 1, name = main}
回到主线程跟新UI