首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Swift 基本语法01-Swift简介

Swift 基本语法01-Swift简介

作者头像
用户1890628
发布2018-05-10 14:49:55
1.9K0
发布2018-05-10 14:49:55
举报
文章被收录于专栏:Objective-CObjective-C

一个iOS开发初级菜鸡.png

Swift 基本语法02-"let"和"var" Swift 基本语法03-"if let"和"guard let" Swift 基本语法04-"switch"和"for" Swift 基本语法05-"String" Swift 基本语法06-数组和字典

Swift 简介
  1. Swift2014年06月WWDC大会发布
  • 2015年底开源
  • IBM开始用Swift做后台开发
  • Swift取消了预编译指令(包括宏,比如Masonry
  • 没有了中括号,和其它语言比较接近
  • 3.0 对于Foundation框架做了重大调整,去除了NS前缀
  • 将绝大部分Class转换为struct
  • 访问当前对象的属性,可以不用self.,建议:一般情况都不用。只有闭包的时候才去用
  • 取消了预编译指令
  • 自动推导:变量/常量的类型会根据=(等号)右侧代码执行结果,推导对应的类型
  • Swift 中对类型要求异常严格,不允许直接运算(不会做默认的隐式的转换,所有的类型确定,都由程序员负责)
let x = 10
let y = 10.5

print(x + y)        // 会直接报错(Binary operator '+' cannot be applied to operands of type 'Int' and 'Double')
print(x + Int(y))   // 这样不会报错,输出结果为`20`
OC 中用类型强转->(int)y
Swift 中Int(y)->结构体的构造函数
Swift 中,不存在基本数据类型,都是结构体(考虑安全性和速度,统一做了语法的调整)
1. Button 的创建
// 创建按钮
let btn = UIButton(type: .contactAdd)
view.addSubview(btn)
btn.center = view.center
btn.addTarget(self, action: #selector(clickMe), for: .touchUpInside)

// 按钮的点击事件
func clickMe(btn:UIButton) -> () {
    print(#function)
    print(btn)
}
2. View 设置背景色
let v = UIView(frame: CGRect(x: 0, y: 20, width: 100, height: 100))
// 代码设置颜色
v.backgroundColor = UIColor.red
// 颜色选择器直接设置
v.backgroundColor = #colorLiteral(red: 1, green: 1, blue: 0, alpha: 1)
view.addSubview(v)

2.1-设置颜色.png

3. ImageView 设置图片
let imageView = UIImageView(frame: CGRect(x: 0, y: 120, width: 100, height: 100))
imageView.image = UIImage(named: "user")
imageView.image = #imageLiteral(resourceName: "user")
view.addSubview(imageView)

3.1-设置ImageView的图片.png

4. 小技巧
// MARK: - XXXXXX

4.1-标记(带横线).png

 // MARK: XXXXXX

4.2-标记(不带斜线).png

// FIXME: 准备修改XXXXXX

06.png

5. 可选项(Optional)
  • OptionalSwift的一大特色,也是Swift初学者最容易困惑的问题
  • 定义变量时,如果指定是可选的,表示该变量可以有一个指定类型的值,也可以是 nil
  • 定义变量时,在类型后面添加一个?,表示该变量是可选的
  • 变量可选项的默认值是nil 常量可选项没有默认值,主要用于在构造函数中给常量设置初始数值
  • !代表强行解包 - 从可选值中强行获取对应的非空值,如果真的是nil,就会崩溃!程序员必须为每一个!负责
let a: Optional = 10
let b: Int? = 20

print(a)        // Optional(10)
print(b)        // Optional(20)

print(a + b)    // 不能直接相加(Value of optional type 'Optional<Int>' not unwrapped; did you mean to use '!' or '?'?)
print(a! + b!)  // 30
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.05.04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Swift 简介
  • 1. Button 的创建
  • 2. View 设置背景色
  • 3. ImageView 设置图片
  • 4. 小技巧
  • 5. 可选项(Optional)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档