• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

swift小结01--基础篇

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

2014年推出的swift目前已来到了3.0,日趋稳定,这个是之前学习整理的关于swift的资料,分享给大家,希望有用,写的不足的地方还请见谅。

语言背景:
        Swift 语言由苹果公司在 2014 年推出,用来撰写 OS X 和 iOS 应用程序。
 
 语言优势:
  • 让应用开发更简单、更快、更稳定
  • 确保最终应用有着更好的质量
 
一些简单的特点:  
  1. 不用;号结束
  2. 方法和属性都是用.来使用  区别是方法后有( ),而属性没有( )
  3. 在 Swift 中使用 print() 替代 OC 中的 NSLog
  4. 在 Swift 中要实例化一个对象可以使用 类名() 的格式,与 OC 中的 alloc/init 等价
  5. OC 中的 [[类名 alloc] initWithXXX], [类名 类名WithXXX]在 Swift 中通常可以使用 类名(XXX: ) 找到对应的函数
  6. OC 中的 [UIColor redColor] 类方法,在 Swift 中通常可以使用 类名.XXX() 找到对应的函数
 
常量和变量
  • 在Swift中规定:在定义一个标识符时必须明确说明该标识符是一个常量还是变量
  • 使用let来定义常量,定义之后不可以修改
  • 使用var来定义变量,定义之后可以修改
  • Swift中类型要求异常严格,不一样的类型不能直接操作
  • Swift中所有类型的第一个字母都是大写的:Double, Int, Float, String
  • Swift中类型转换 类型(要转换的对象)   如果不想让Swift自动推导类型,可以在定义的时候指定类型
类型强转有2种方式 let aa:Float =      let aa = Float(变量/)
 

Swift中基本运算
  • Swift中在进行基本运算时必须保证类型一致,否则会出错
    • 相同类型之间才可以进行运算
    • 因为Swift中没有隐式转换
  • 数据类型的转化
    • Int类型转成Double类型:Double(标识符)
    • Double类型转成Int类型:Int(标识符)
 
 

字符串
    • OC和Swift中字符串的区别
      • 在OC中字符串类型时NSString,在Swift中字符串类型是String
      • OC中字符串@"",Swift中字符串""
    • 使用 String 的原因
      • String 是一个结构体(栈里),性能更高
      • NSString 是一个 OC 对象(堆里),性能略差
      • String 支持直接遍历
      • Swift 提供了 StringNSString 之间的无缝转换
 
var str = "及法规和第三"
 
//遍历字符串
for i in str.characters{
    print(i)
}
//字符串的长度
let count = str.characters.count
 
//字符串与字符串的拼接
let a = "hhhhhhh"
let b = "jjjjjjj"
let c = a + " " + b
 
//非字符串(需转换成字符串)与字符串拼接
let a1 = 23
let b1 = "kkkk"
let c1 = String(a1) + b1
let c2 = "\(a1)"+b1  // "\()"在括号中可以传入任何类型然后转变成字符串
 
//字符串格式化
let p = 3.1415926
let format = String(format: "%f", p)
let format1 = String(format: "%d %f", arguments: [p,p])
 
 
//判断一个地址是否后缀是gif
//方法一
//转小写
let add1 = add.lowercaseString
//判断
add1.hasSuffix("gif")
//方法二
//String转换NSString
let addr2 = add as NSString
let gif = addr2.substringFromIndex(add.characters.count - 3)
gif == "gif"
 

if语句
    Swift没有非0即真, Bool只有2个值 true表示真, false表示假
    Swiftif 后面的条件可以不需要()
    Swiftif后面的代码即使只有一行,也不能省略{}
    if 后面的条件可以是 Bool类型或者Bool类型的表达式
 
 
let isNb = true
if !isNb {
    print("ture")
}
 
if(isNb){
    print("true")
}
 
let pass = "及格"
let fail = "不及格"
let score = 69
if score > 60{
    print(pass)
}else{
    print(fail)
}
 
//三目运算符  问号前面一定要有一个空格
let ss = score > 60 ?pass : fail
 

可选类型
     Swift为了解决忘记对没有值进行判断,搞了可选类型,可选类型的作用:时刻提示你,这个变量或常量有可能有值,也有可能没有,可选如果没有值为nil
    定义可选: 在普通的变量或常量的类型后面加?
 
 
//定义可选类型,不能直接使用,要先拆包,而拆包前需判断是否包为空,或者将包赋值
//两种写法,一般是第一种
let a:Int? = 1000
let a1 = Int?(1000)
 
//拆包: 变量! 操作时没有进行拆包判断的话,如果包为nil会出错
 
//拆包需要判断是否为nil
if a1 != nil{
    let sum1 = a1! + 100
}else{
    print("拆包为空")
}
 
//let aaa = a1这个式子里先将a1拆包,然后将拆出来的值赋给aaa
if let aaa = a1{
    let sum1 = aaa + 100
}else{
    print("拆包为空")
}

for循环
 
for var i = 0; i < 5; i++ {
   
}
 
for var i = 0;i < 10; i++ {
   
}
 
for i in 1...9{
    print(i)
}
 
for i1 in 0..<9{
    print(i1)
}
 
 0...5 范围(区间)运算符: 闭合运算符[a, b], 包含a也包含b: 0,1,2,3,4,5
 0..<5 范围(区间)运算符: 半闭合运算符[a,b),包含a不包含b: 0,1,2,3,4

switch语句
Swift中的每个case
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap