定义类
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: 外部调用方法
快速使用图片资源
直接打出图片资源的名称即可自动转换为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<FileModel>!
//直接创建
var array = [FileModel]()
循环同时获取下标和值引用
for (index,var dict) in dictArray!.enumerated() {
let str = dict["pwd"] as! String
dict.updateValue(AppHelp.help.decode(str), forKey: "pwd")
}