一:认识swift
// 1.导入框架 //#import <UIKit/UIKit.h> import UIKit // 2.定义一个标识符 // int a = 10; // swift中定义标识符:必须制定该标识符是一个常量还是一个变量 // var(变量)/let(常量) 标识符的名称 : 标识符的类型 = 初始化值 var a : Int = 10; let b : Double = 3.14; a = 29; // b = 3.11 错误写法 // 3.语句结束后可以不跟; // 前提:一行只有一条语句,如果一行中有多条语句,则需要使用;分割 var m : Int = 20 let n : Double = 3.44 // 4.打印内容 // NSLog(@"%d", a) print(a) print("hello world") /** 总结:1:导入框架:oc导入框架:#import <UIKit/UIKit.h> swift导入框架:import UIKit 2:定义标识符:swift中定义标识符:必须先指定该标识符是一个常量还是一个变量:通用格式:var(变量)/let(常量) 标识符的名称 : 标识符的类型 = 初始化值 3:语句结束后可以不跟;前提:一行只有一条语句,可以不加分号,如果一行中有多条语句,则需要使用;分割 4:打印内容:print函数,基本数据类型:print(a) 字符串打印不加@,print("hello world") */
- Playground是什么?
- 从Xcode6开始出现(Swift开始出现)
- 翻译为:操场/游乐场
- 对于学习Swift基本语法非常方便
- 所见即所得(快速查看结果)
- 语法特性发生改变时,可以快速查看.
- Swift最基本的语法变化
- 导入框架 import UIKit
- 定义标识符时,必须声明该标识符是变量还是常量
- 声明标识符的格式:变量/常量关键字 名称 : 数据类型
- 语句结束时不需要加;
- 如果同一行有多个语句,则依然需要加
- 但是不建议一行多条语句
- Swift中的打印语句:print(打印的内容)
二:swift中的常量和变量
1:什么是常量和变量
- 在Swift中规定:在定义一个标识符时必须明确说明该标识符是一个常量还是变量
- 使用let来定义常量,定义之后不可以修改
- 使用var来定义变量,定义之后可以修改2:
2:常量和变量的基本使用
import UIKit
let a : Int = 10
// 错误写法,当一个字段定义为常量时是不可以修改的
// a = 20
var b : Int = 20
// 因为b定义为变量,因此是可以修改的
b = 30
3:常量和变量的使用注意:
- 注意:
- 在真实使用过程中,建议先定义常量,如果需要修改再修改为变量(更加安全)
- 是指向的对象不可以再进行修改(也就是内存地址不可以修改).但是可以通过指针获得对象后,修改对象内部的属性
-
// 注意:声明为常量不可以修改的意思是指针不可以再指向其他对象.但是可以通过指针拿到对象,修改其中的属性 // view : UIView = [[UIView alloc] init]; // Swift对象中不需要* var view : UIView = UIView() view = UIView() let view1 : UIView = UIView(frame: CGRect(x: 0, y: 0, 100, height: 100)) view1.backgroundColor = UIColor.redColor() // 枚举类型的用法:类型.枚举的值 let btn : UIButton = UIButton(type: UIButtonType.Custom) btn.backgroundColor = UIColor.blueColor() btn.setTitle("按钮", forState: UIControlState.Normal) btn.frame = CGRect(x: 20, y: 20, 60, height: 30) view1.addSubview(btn)
import UIKit // 1.在开发中优先使用常量,只有在需要修改时,在修改成var // 2.常量本质:保存的内存地址不可以修改,但是可以通过内存地址拿到对象,之后修改对象内部的属性 let view : UIView = UIView() // view = UIView() 错误写法 view.backgroundColor = UIColor.red
其中UIView(),代表创建一个UIView的对象,view指针内存放该对象的内存地址,let修饰,也就是内存地址或是指针所指向的对象不可修改,但是可以通过指针拿到该对象去设置对象内部的属性