swift基本体验

Swift初体验

1. 导入框架
2.  定义标识符: let/var
3.  语句结束时;可以省略
4.  print()
5.  let/var
6. 逻辑分支
7. 循环使用
// 1.Swift中如何导入框架
/*
 OC导入框架: #import <UIKit/UIKit.h>
 */
import UIKit

// 2.定义标识符
/*
 OC定义标识符:
    int a = 20;
    a = 10;
 Swift定义标识符
    1> 定义标识符时,必须明确的指定该标识符是一个变量还是一个常量
    2> 使用var定义变量
    3> 使用let定义常量
    4> 定义格式: let/var 标识符名称 : 标识符类型 = 赋值
 */
// 2.1.定义变量
var a : Int = 20
a = 10

// 2.2.定义常量
let b : Double = 3.14
// b = 2.44 错误写法


// 3.在swift中,如果一行当中只有一条语句,那么语句结束时 ; 可以省略


// 4.打印内容
/*
 OC打印内容:
    NSLog(@"Hello World");
    NSLog(@"%d", a);
 */

print("hello world")
print(a)

1.注意一:

在开发中,优先使用常量(let). 只有发现标识符需要修改时,再使用变量
目的: 防止在其它不希望修改的地方,不小心将值修改掉

2.注意二:

常量的本质: 指向的内存地址不可以修改,但是可以通过内存地址找到对应的对象,之后修改对象内部的属性

OC中创建对象:
UIView *view = [[UIView alloc] init];
Swift中创建对象:
类型()

// var a : Int = 20
// a = 10

/*
var view : UIView = UIView()
view = UIView()
 */

// 1> 指向的内存地址不可以修改
let view : UIView = UIView() // 0x100
// view = UIView() // 0x200

// 2> 但是可以通过内存地址,找到对应的对象,之后修改对象内部的属性
view.alpha = 0.5
view.backgroundColor = UIColor.blue

Swift UIKit的基本使用

// 需求: 创建UIView对象,并且在UIView中添加UIButton

// 1.创建UIView对象
// OC : [[UIView alloc] initWithFrame:CGRect]
let rect = CGRect(x: 0, y: 0,  100, height: 100)
let view : UIView = UIView(frame: rect)

// 2.给View设置属性
view.backgroundColor = UIColor.red


// 3.创建UIButton对象
let btn : UIButton = UIButton()

// 4.给btn设置属性
// 4.1.设置btn的frame
btn.frame = CGRect(x: 0, y: 0,  50, height: 50)

// 4.2.设置btn的背景颜色
btn.backgroundColor = UIColor.orange

// 4.3.设置btn的文字(了解)
// Swift枚举类型: 
// 方式一: 如果可以根据上下文语法推断出该枚举的类型可以直接 .具体类型
// 方式二: 上下文推断不出类型, 枚举类型.具体类型
btn.setTitle("按钮", for: .normal)


// 5.将btn添加到UIView中
// 在swift中调用方法,统一使用 点语法
view.addSubview(btn)

类型推导

1> 如果在定义一个标识符时,有直接给该标识符进行赋值. 那么可以将标识符后面的类型省略掉
2> 编译器会根据我们后面赋值的类型,推导出前面标识符的类型, 这个过程就叫做类型推导
3> 可以通过 option + 鼠标左键 来查看标识符的类型

      let a = 20
      var b = 2.44

      let view = UIView()
      let btn = UIButton()
      let m = 20
      let n = 10.5

      // let result = m + n 错误写法
      // 将Int类型转成Double: Double(标识符)
      // 将Double类型转成Int : Int(标识符)
      let result1 = Double(m) + n
      let result2 = m + Int(n)


      let a : Double = 2.44
      let b : CGFloat = 3.55

      let result = a + Double(b)

OC的用法

          int a = 20
    
          if (a > 0) {
          }

          if (a) {
          }

Swift中if和OC的区别

1> if后面的()可以省略掉
2> 没有非0(nil)即真 
    Bool(true/false)
let a = 10

if a > 0 {
    print("a大于0")
}

if a != 0 {
    print("a不等于0")
}


// else if的使用
let score = 88

if score < 0 || score > 100 {
    print("不合理的分数")
} else if score < 60 {
    print("不及格")
} else if score < 80 {
    print("及格")
} else if score < 90 {
    print("良好")
} else {
    print("优秀")
}

Switch-Case

1.switch的基本使用
1> switch()可以省略
2> case结束可以不加break
2.基本使用补充
1> case后面可以跟上多个条件
2> 如果希望产生case穿透,可以在case结束时fallthrough
3.可以判断多种类型
1> 浮点型
2> 字符串
3> 区间类型

1.switch基本使用和OC的区别
1> switch后面的()可以省略
2> case语句结束时,可以不加break

let sex = 1

// sex 0 : 男  1 : 女
switch sex {
case 0:
    print("男")
case 1:
    print("女")
default:
    print("其它")
}


// 2.基本用法补充
// 1> 在swift中,switch后面case可以判断多个条件
// 2> 如果希望case结束时,产生case穿透.case结束时,加上fallthrough
switch sex {
case 0, 1:
    print("正常人")
    fallthrough
//case 3:
//    print("人妖")
//    fallthrough
default:
    print("非正常人")
}


// 3.switch判断其它类型
// 3.1.判断浮点型
let m = 3.14

switch m {
case 3.14:
    print("和π相等")
default:
    print("和π不相等")
}

// 3.2.判断字符串
let a = 20
let b = 30
let oprationStr = "*"
var result = 0

switch oprationStr {
case "+":
    result = a + b
case "-":
    result = a - b
case "*":
    result = a * b
case "/":
    result = a / b
default:
    print("不合理的操作符")
}


// 3.3.判断区间类型
/*
 区间
    1> 半开半闭区间 0~9 0..<10
    2> 闭区间 0~9 0...9
    错误写法 1~9 0<.<10
    正确写法 1~9 1..9/1..<10
 */

let score = 88

switch score {
case 0..<60:
    print("不及格")
case 60..<80:
    print("及格")
case 80..<90:
    print("良好")
case 90...100:
    print("优秀")
default:
    print("不合理的分数")
}
// Swift中for循环现在只支持区间遍历
// 0..<10/0...9
for i in 0..<10 {
    print(i)
}

for i in 0...10 {
    print(i)
}


// 打印10次hello world
// 在swift开发中,如果一个变量/常量暂停不会使用,那么可以使用_来代替
for _ in 0..<10 {
    print("hello world")
}

关于循环

OC中while循环

      int a = 0
       while (a < 10) {
        a++
     }
     while (a) {
 
     }

swift中while循环和OC区别
1> while后面()可以省略
2> 没有非0(nil)即真 Bool(true/false)


var m = -1
while m < 10 {
    m += 1
    print(m)
}


repeat {
    m -= 1
    print(m)
} while m > 0

原文地址:https://www.cnblogs.com/jiahao89/p/13612937.html