枚舉類型的講解

有關(guān)oc中的枚舉類型
1、不推薦使用绪励,因為不能夠使用一種類型的方式表示枚舉躏结;
enum
{
TMEnumTestOne,
TMEnumTestTwo,
};

enum 類型

typedef enum
{
TMEnumTestOne,
TMEnumTestTwo,

} TMEnumTest;

enum TMEnumTest
{
TMEnumTestOne,
TMEnumTestTwo,
};
typedef enum TMEnumTest TMEnumTest;
將枚舉描述為一個類型TMEnumTest。

這種寫法也有局限性勃救,在作為函數(shù)參數(shù)時新锈,如果傳入NSInteger類型的數(shù)據(jù)鞠评,則需要強制轉(zhuǎn)換,否則會有類型不匹配的警告壕鹉,所以這種方式也不推薦剃幌。

老式enum寫法

enum
{
TMEnumTestOne,
TMEnumTestTwo,
};
typedef NSUInteger TMEnumTest;
這種寫法可以指定TMEnumTest的類型,并且作為函數(shù)參數(shù)時晾浴,傳入的值不需要進行強制類型轉(zhuǎn)換负乡。
但是這種寫法不會檢查枚舉的正確性,是好是壞需要自己判斷脊凰,

新式enum寫法
(一般都是下面的第一種寫法抖棘,好像第二種寫法也是有的,不過我很少這樣子寫狸涌,寫一下可以推薦使用這種方法切省,因為可以使用& 的方式表示兩種枚舉的情況而不用一個一個的來寫了)
typedef NS_ENUM(NSUInteger, TMEnumTest)
{
TMEnumTestOne,
TMEnumTestTwo,
};

typedef NS_OPTIONS(NSUInteger, TMEnumTest)
{
TMEnumTestOne = 0,
TMEnumTestTwo = 1 << 0,
};

NS_ENUM和NS_OPTIONS本質(zhì)是一樣的,僅僅從字面上來區(qū)分用途帕胆。NS_ENUM是通用情況朝捆,NS_OPTIONS一般用來定義“位枚舉”。位枚舉應(yīng)該是位移動來進行完成的懒豹。
這種寫法同樣作為函數(shù)參數(shù)時芙盘,傳入的值不需要進行強制類型轉(zhuǎn)換驯用。但是也同樣不會檢查枚舉的正確性,和 老式enum寫法 一樣儒老,
但是不同的是蝴乔,新式enum寫法 在使用switch時,會進行值的檢測驮樊,如果枚舉中無此值薇正,則會彈出警告,如下圖囚衔。這種方式見仁見智了挖腰。本人推薦這種寫法。

  1. 枚舉最大值
    對于一般的枚舉佳魔,要獲取枚舉的最大值是很難的曙聂,因為隨著枚舉的擴充晦炊,最大值在不斷變化鞠鲜,這時推薦使用一個固定的枚舉表示最大值,例如:
    typedef NS_ENUM(NSUInteger, TMEnumTest)
    {
    TMEnumTestOne,
    TMEnumTestTwo,

    TMEnumTestMax, // 表示最大值
    };
    這樣就可以使用TMEnumTestMax表示枚舉TMEnumTest的最大值了断国。

  1. 位枚舉
    位枚舉是一種特殊的枚舉贤姆,在apple的類中使用的很多,例如NSStringCompareOptions等稳衬。
    typedef NS_OPTIONS(NSUInteger, TMEnumTest)
    {
    TMEnumTestOne = 0, // 0
    TMEnumTestTwo = 1 << 0, // 1
    TMEnumTestThree = 1 << 1, // 2
    TMEnumTestFour = 1 << 2, // 4
    };
  • 位枚舉的特點是可以使用位運算來處理枚舉值霞捡,實際使用中可以用一個變量存儲多個枚舉值,表示互不影響的多個設(shè)置薄疚。
Paste_Image.png

可以知道枚舉類型中一個枚舉變量可以包括多個枚舉值碧信,而不是我們單純的認(rèn)為一個枚舉變量只能夠有一個枚舉值。

但是有0 就會出現(xiàn)問題了街夭,也就是與0 都會出現(xiàn)錯誤的砰碴。
為了不出現(xiàn)面的情況,我們可以將枚舉類型從1開始板丽,而不是從0開始呈枉,也就是位枚舉類型是從值為1開始的。

動效:
http://www.cocoachina.com/design/20160729/17237.html
這個就是關(guān)于UI設(shè)計的一種美感

二維碼的效果:
http://www.cocoachina.com/swift/20160729/17221.html
二維碼應(yīng)該是怎么樣進行開發(fā)的埃碱,也即是如何進行完成的猖辫。
好像這個二維碼不是很好用的,也就是這個二維碼應(yīng)該是python的有關(guān)內(nèi)容砚殿,通過網(wǎng)站來實現(xiàn)啃憎。

有關(guān)于UIwindow的設(shè)置
可window不管是storyboard和xib都是可以的,只要設(shè)置window的背景顏色是透明的似炎。
同時也要注意hidden設(shè)置為false荧飞,就會彈出來凡人。

p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'; color: #454545}p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'; color: #e4af0a}p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'; color: #454545; min-height: 14.0px}p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px '.PingFang SC'; color: #454545}span.s1 {font: 12.0px '.PingFang SC'}span.s2 {font: 17.0px 'PingFang SC'}span.s3 {font: 17.0px 'Helvetica Neue'}span.s4 {font: 12.0px 'Helvetica Neue'}

UIView animation (動畫效果)
http://www.cocoachina.com/ios/20160727/17199.html

reactiveCocoa swift首先要知道reactive oc 是怎么使用的
支持swift 2.x和oc
http://blog.devtang.com/2014/02/11/reactivecocoa-introduction/
http://www.cocoachina.com/swift/20160727/17210.html
據(jù)說:reactivecocoa + mvvm的模式進行開發(fā)
一種監(jiān)聽信號量的處理方式

runloop 深入研究**** Runloop ****與線程保活
http://www.cocoachina.com/ios/20160728/17220.html

技術(shù)點:
http://www.code4app.com/thread-9683-1-1.html

簡書中有一個直播的技術(shù)框架
http://www.reibang.com/p/3b956bbeeb47

http://www.reibang.com/p/b3e7fa514ab7
webView的使用

通訊交流很多人都是在使用“環(huán)信”叹阔,是什么東東挠轴,就是qq聊天的一種方式;


耳幢、需要閱讀一下swiftJSON 這個類
有關(guān)插屏幕的設(shè)置岸晦,為什么不用xib的方式進行設(shè)置呢?那是因為總是實現(xiàn)不了背景的透明睛藻,所以這里應(yīng)該都是通過storyBoard來實現(xiàn)透明的启上,有一點可以的話,再進
行修改店印。
插屏如果要重寫的時候冈在,應(yīng)該要注意一下是背景顏色以及相關(guān)的按鈕沒有顯示,可能是因為關(guān)聯(lián)到其他的工程的組件上面了按摘,所以這個要注意一下包券。
這個我也不知道為什么,所以應(yīng)該盡可能的避免其他的工程打開炫贤,它們似乎有自動聯(lián)系起來溅固。
為什么swift中l(wèi)et 這樣子用回出現(xiàn)錯誤?兰珍?侍郭??

查閱里面的閱讀內(nèi)容
deinit 相關(guān)的內(nèi)容退出的時候

總結(jié):
1掠河、廣告的彈出亮元,就是內(nèi)容上的彈出,為什么會顯示不出倆唠摹,可能聯(lián)系到其他的地方
還是會不出現(xiàn)半透明的現(xiàn)象爆捞,如果沒有出現(xiàn)想要的結(jié)果,就設(shè)置一下window的backgroundColor 為透明uicolor.clearcolor
總結(jié):
1跃闹、我們在不適用storyboard進行加載的時候嵌削,經(jīng)常也是這樣子的,需要設(shè)置window.backgroundColor = uicolor.cleancolor

2望艺、swift中應(yīng)該注意一下是什么苛秕?尤其是? 的使用找默,swift的語法

3艇劫、swift語言特性,是面向?qū)ο笳Z言
4惩激、collecitionView 的顯示店煞,就是內(nèi)容上的顯示== 來判斷是不是這個collectionView蟹演,通過scrollview的轉(zhuǎn)化也是沒有問題的,
5顷蟀、window的使用酒请,尤其是在彈層上面,這個東東應(yīng)該是盡可能使用storyBoard鸣个,而不是用xib羞反,xib不發(fā)實現(xiàn)別經(jīng)是透明或者半透明。
6囤萤、邏輯上的優(yōu)化盡可能的封裝昼窗。

有個問題:
1、就是oc中如果沒有值的時候涛舍,我們都是適用什么呢澄惊?一般都是if來進行判斷一下,然而數(shù)據(jù)解析我們都是適用jsonModel就是避免為空的時候出現(xiàn)崩潰富雅;
2掸驱、swift中就有了optional來進行檢查,沒有值也不會報錯吹榴。

swift中的optional的作用或者用法:

復(fù)習(xí):
1亭敢、就是約束的計算(oc語言里面)滚婉,這里有關(guān)約束的優(yōu)先級图筹,還有自動布局除了storyBoard還有幾個組件是通過代碼來進行完成的。
2让腹、尤其是在oc上面容易出現(xiàn)可能是有nil的情況远剩,nsstring的類型,什么時候是否為nil需要判斷一下是什么?
3骇窍、 有關(guān)緩存瓜晤,項目里面都是使用sqlite的小型數(shù)據(jù)庫
4、view上面的組件腹纳,laodview進場使員工的痢掠,layoutsubview() 等等方法;
5嘲恍、數(shù)據(jù)基本上都是在后臺上拉取的足画,這個過程是怎么樣進行處理的,
6佃牛、進度哪里來的數(shù)據(jù)在內(nèi)存中傳遞淹辞,我們是可以進行處理進度條以及有關(guān)的約束內(nèi)容。
7俘侠、pageViewcontroller 象缀、ADinterstialAd 這兩個新的東東是什么鬼蔬将;

蘋果歷代系統(tǒng)版本取名字
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市央星,隨后出現(xiàn)的幾起案子霞怀,更是在濱河造成了極大的恐慌,老刑警劉巖莉给,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件里烦,死亡現(xiàn)場離奇詭異,居然都是意外死亡禁谦,警方通過查閱死者的電腦和手機胁黑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來州泊,“玉大人丧蘸,你說我怎么就攤上這事∫T恚” “怎么了力喷?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長演训。 經(jīng)常有香客問我弟孟,道長,這世上最難降的妖魔是什么样悟? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任拂募,我火速辦了婚禮,結(jié)果婚禮上窟她,老公的妹妹穿的比我還像新娘陈症。我一直安慰自己,他們只是感情好震糖,可當(dāng)我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布录肯。 她就那樣靜靜地躺著,像睡著了一般吊说。 火紅的嫁衣襯著肌膚如雪论咏。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天颁井,我揣著相機與錄音厅贪,去河邊找鬼。 笑死蚤蔓,一個胖子當(dāng)著我的面吹牛卦溢,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼单寂,長吁一口氣:“原來是場噩夢啊……” “哼贬芥!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起宣决,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤蘸劈,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后尊沸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體威沫,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年洼专,在試婚紗的時候發(fā)現(xiàn)自己被綠了棒掠。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡屁商,死狀恐怖烟很,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蜡镶,我是刑警寧澤雾袱,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布,位于F島的核電站官还,受9級特大地震影響芹橡,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜望伦,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一林说、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧屡谐,春花似錦述么、人聲如沸蝌数。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽顶伞。三九已至饵撑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間唆貌,已是汗流浹背滑潘。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留锨咙,地道東北人语卤。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親粹舵。 傳聞我的和親對象是個殘疾皇子钮孵,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內(nèi)容

  • 深入理解傅里葉變換Mar 12, 2017 這原本是我在知乎上對傅立葉變換、拉普拉斯變換眼滤、Z變換的聯(lián)系巴席?為什么要進...
    價值趨勢技術(shù)派閱讀 5,742評論 2 2
  • title: "Swift 中枚舉高級用法及實踐"date: 2015-11-20tags: [APPVENTUR...
    guoshengboy閱讀 2,565評論 0 2
  • 小薇是我的同事,比我還瘦的同事诅需,老實說這么多年我也只遇到這么一個漾唉。她總是半晌就餓,每次都帶點零食堰塌。當(dāng)然赵刑,每次都有我...
    安然ZCR閱讀 341評論 2 3
  • 前幾天我妹子問我:"誒是不是后天就過年啦?”我當(dāng)時還一愣场刑,這么快嗎料睛?我怎么一點感覺都沒有。下意識去翻手機里的日歷摇邦。...
    舊情是路_舊人是樹閱讀 342評論 0 0
  • 畢業(yè)到現(xiàn)在已經(jīng)6年時間了恤煞,經(jīng)過這些時間,我已經(jīng)找到我喜歡并且會一直堅持做下去的事情了施籍。感覺時間好久居扒,但也不晚,雖然...
    63a900a9b031閱讀 188評論 0 0