swift 基础语法学习

定义类

import UIKit
class Student: NSObject {
    //构造函数
    init(name:String,age:Int) {
          self.name=name
          self.age=age
      }
}

定义变量

//定义变量不赋值
var name:NSString?

//定义变量赋值
var age=25
var height:Int = 175
    
//定义常量
let sex = "男"
let homedown:NSString="湖北省宜城市"

定义方法

func introduceYourSelf() -> Void {
     NSLog("%@", "我的名字叫"+name!+";我的年龄是"+String(age))
}

func testFunc(str:String,nextStr:String,number:Int) -> String {
     let strRestul=str+nextStr+String(number);
     return strRestul;
}

创建对象

let stu=Student.init(name: "stonemover", age: 22)//声明对象
stu.height=172//设置变量值
stu.introduceYourSelf()//调用方法
let result=stu.testFunc(str: "第一个字符", nextStr: "第二个字符", number: 10)//调用方法传入参数,返回结果
print(result)//打印结果

枚举 enum的定义

enum BTToastLocationType {
     case BTToastLocationCenter
     case BTToastLocationBottom
}

enum BTToastLocationType {
     case BTToastLocationCenter,BTToastLocationBottom
}

as 关键字

as关键字是用来做类型强制转换

let cell:MainTableViewCell=tableView.dequeueReusableCell(withIdentifier: "mainCell") as! MainTableViewCell

! 与? 特殊符号

self.label!
明确该变量不是nil一定有值
例如:self.label!.text="test",就一定会执行
self.label?
不确定该变量是否有值,只在self.label有值的时候进行相关方法的调用.
例如:self.label?.text,当self.label有值的时候执行,当没有值的时候就不执行

mark标记

//MARK: 外部调用方法
swift 基础语法学习_第1张图片
图片.png

快速使用图片资源

直接打出图片资源的名称即可自动转换为UIImage对象

数组反转

self.dataPerson = self.dataPerson.reversed()

让闭包作为类的一个属性

typealias chooseBlock = (_ sendString: String) -> Void

var successBlock : ((_ sendString : String) ->Void)?

class ChoosePageController: WMPageController {
  
    var blockSuccess : chooseBlock?

    override func viewDidLoad() {
        self.blockSuccess?("123")
    }
}

让闭包作为一个参数传入

func test(closure: ( sendString : String) -> Void) {
    closure("")
}

监听应用挂起

NotificationCenter.default.addObserver(self, selector:#selector(willResionActive),name: UIApplication.willEnterForegroundNotification,object: nil)

返回多个值的情况

    //MARK:屏幕旋转
    func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
        if BTUtils.getCurrentVc()?.isKind(of: VideoDetailVC.self) ?? false  {
            let vc = BTUtils.getCurrentVc() as! VideoDetailVC
            if vc.isOnlyVoice {
                return .portrait
            }
            return UIInterfaceOrientationMask(rawValue: UIInterfaceOrientationMask.landscapeRight.rawValue | UIInterfaceOrientationMask.portrait.rawValue)
        }
        return UIInterfaceOrientationMask.portrait
      }

定义创建数组

//先定义后创建
var array : Array!

//直接创建
var array = [FileModel]()

循环同时获取下标和值引用

for (index,var dict) in dictArray!.enumerated() {
     let str = dict["pwd"] as! String
     dict.updateValue(AppHelp.help.decode(str), forKey: "pwd")
}

你可能感兴趣的:(swift 基础语法学习)