亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
函數和其他屬性都可以是Anyobject 只是聲明的時候要聲明成Any的數組
說錯了 都不是AnyObject類型
CGFloat(3.1415926)和String好像都不是NSObject類型了
二,在協議中的時候 可以把協議充當成類
is判斷:是否遵守了該協議
as轉換 :轉換成該協議的對象,并且只能調用協議的方法
其實這種初始化有點像一個類幫另一個類初始化了,小的那個類被大的引用著。china?.CapitalCity.Country這樣調用有點奇怪。
樓下說沒有關系其實還是有關系的,當雙方初始化的完成都需要對方的時候,而且雙方屬性都是let和不能為空,這時候就需要用到unowned加上!屬性來解決了。
Swift內存管理筆記
一,一個對象是有生命周期的 , 它創建的時候在內存開辟的一個存儲空間,消失的時候(賦值nil或作用域結束)會調用deinit方法,就像OC的dealloc 和 C++的析構一樣
二,一個對象在{}里面的創建,在括號邏輯做完后就會消失。就如函數執行完或者for{}執行完就會消失 這些都是系統幫我們做的
三,當一個對象被其他對象引用或擁有的時候(在某個括號內,而且括號沒有執行完),他的引用計數器加一。不管創建者引用是否還在,只要該對象引用計數不為0,他就不會被釋放。
老師講到后面 不是我們不行了 老師也不行了哈哈
先使用一個協議封裝起來一些必須完成這個委托任務必須要實現的方法,如游戲的規則和tableview的行數。
創建一個類,里面有個delegate的屬性,這個delegate必須遵守協議。類內部使用delegate實現任務內部的邏輯,如游戲如何進行和tableview如何通過代理的函數去布局,這些邏輯被委托方都不需要知道。
當某個類需要成為委托方的時候,把這個delegate賦值給這個類,并在里面實現協議的方法,如tableView的屬性或游戲規則,這就完成了委托的任務了。
其實pet和animal有點像子父類的例子
為什么Struct中函數改變屬性要加mutating呢! 因為struct是屬于值類型的, 當新值傳入 它需要拷貝一個新的副本去防止副本的修改影響到原屬性,所以在覆蓋原屬性的操作中系統不知道這個新的副本要放在那里,所以加上mutating系統就知道這是一個覆蓋操作 不應該開一個新的副本
把那個Subcript方法的返回值換成Any就可以做一個存放各種元素的數組了
從數據結構與算法課程過來的,講得賊好
半個月看完,2018.11.26 打卡!感謝bobo老師的視頻,講的非常好!
課程須知
本課程適合至少有一門編程語言基礎的同學用于學習Swift語言。也適合在學習使用swift進行iOS開發的過程中,遇到不清楚的swift語言問題隨時查詢。本課程一共分為四季,沒有學習過Swift的同學請按照第一~第四季的順序學習,有基礎的同學可以挑選章節觀看,鞏固提高。
老師告訴你能學到什么?
這是《玩兒轉swift2.0》系列課程的第四季,介紹了諸多swift語言特性。通過整個系列課程的學習,大家可以全面、深入地了解swift的語法與語言特性,理解swift的設計原則和理念,對swift語言的掌握達到中等偏上的水平。

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消