加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift 总结

发布时间:2020-12-14 06:00:34 所属栏目:百科 来源:网络整理
导读:一 符号 问号? a.声明时添加?,告诉编译器这个是Optional的,如果声明时没有手动初始化,就自动初始化为nil b.在对变量值操作前添加?,判断如果变量时nil,则不响应后面的方法。 叹号! a.声明时添加!,告诉编译器这个是Optional的,并且之后对该变量操作
一 符号
 

问号?

a.声明时添加?,告诉编译器这个是Optional的,如果声明时没有手动初始化,就自动初始化为nil

b.在对变量值操作前添加?,判断如果变量时nil,则不响应后面的方法。

叹号!

a.声明时添加!,告诉编译器这个是Optional的,并且之后对该变量操作的时候,都隐式的在操作前添加!

b.在对变量操作前添加!,表示默认为非nil,直接解包进行处理


二、枚举相关值

1 model 文件

public enum trade
{
case Buy(String,Int)
case Sell(String,Int)
}
class KGModel: NSObject,KGModelInterface {

}


2 ViewController 文件

class ViewController: UIViewController,UITextViewDelegate {
var lastView:KGView!
var viewModel:KGModel!
override func viewDidLoad() {
super.viewDidLoad()
self.viewModel = KGModel.init()
self.lastView = KGView.init(frame: CGRect(x:100,y:100,width:100,height:100))
lastView.model = self.viewModel
self.view.addSubview(self.lastView)
let buy = trade.Buy("buy",500)
let sell = trade.Sell("sell",1000)
lastView.testEnum(tr: buy)
lastView.testEnum(tr: sell)
}

}


输出 start = buy end = 500
start = sell end = 1000


三、接口继承(代理)

1 接口文件

public protocol KGModelInterface:NSObjectProtocol
{
func testInterface() -> Void
}


2 继承接口文件

class KGModel: NSObject,KGModelInterface {
func testInterface() {
print("接口函数测试")
}

}

3. 调用接口方法测试

viewModel.testInterface()


输出 接口函数测试

从例子可以 理解了 从OC到swift的借口类型传递的编程方法过渡及使用。


使用try?

try?会将错误转换为可选值,当调用try?+函数或方法语句时候,如果函数或方法抛出错误,程序不会发崩溃,而返回一个nil,如果没有抛出错误则返回可选值。

使用try!

使用try!可以打破错误传播链条。错误抛出后传播给它的调用者,这样就形成了一个传播链条,但有的时候确实不想让错误传播下去,可以使用try!语句。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读