iOS筆記--Day01課堂筆記

顯示隱藏文件:defaults write com.apple.finder AppleShowAllFilesYES

隱藏隱藏文件: defaults write com.apple.finder AppleShowAllFiles –boolfalse

(輸入指令后,一定要重新啟動Finder)

關于OC考試:35分鐘機試加上30分鐘筆試(筆試包含2道C變成 一道OC變成 ?一道OC簡答)

培養面向對象的思想:必須敲當天的代碼,不敲代碼學習下來沒有效果

課后怎樣去復習:

用自己理解的方式,自己思考的方式敲代碼

沒有印象的同學,對著老師的代碼敲

什么都記不住,就直接從頭到尾抄老師的代碼

做筆記:學習好的同學都會有一套自己的筆記


API是什么意思?

首先OC是一個面向對象的編程語言

OC難點:

面向對象的概念

封裝/繼承/多態

category ?/ ?protocol

foundation(重點)

常用結構體(簡單)

KVC與KVO(簡單)

基礎班OC重點:

掌握基本的語法

基本項目的需求分析能力

面向對象的思維能力

OC與C的對比(C中的所有東西,OC中都可以用):

關鍵字:OC中新增的關鍵字大部分都以@開頭

類型,新增布爾(BOOL)類型,新增BLOCK類型,新增兩種指針類型class(類)和id類型,新增特殊類型(SEL/nil)

流程控制,新增"增強版for循環"

OC中的方法與C中的函數基本相同

OC中新增面向對象特征:封裝 繼承 多態

OC中新增面向對象的語法

新增異常處理,用于處理錯誤信息

#import的功能與#include的功能相同:

#include弊端:需要寫頭文件位置

#import優點:防止重復導入頭文件,OC中引入了新的預處理指令#import來導入頭文件

#import:既可以導入OC的頭文件,也可以導入C的頭文件

printf和NSLog的區別:

NSLog會自動換行

NSLog在輸出的時候回附加一些系統信息

NSLog接收的參數不一樣


試試用include導入會發生什么?事實證明include可以導入OC的頭文件

Foundation.h是什么:稱為主頭文件,主頭文件中又拷貝了這個工具箱內所有文件的頭文件,我們只需要導入主頭文件就可以使用這個工具箱內的所有的文件

注意點:OC完全兼容C,所以可以在OC程序中編寫C語言的代碼,并且可以將C語言的源文件與OC語言的源文件編譯到一起,組成一個可執行文件

面向對象的基本概念:

面向對象是相對面向過程而言的

面向對象與面向過程都是一種思想

面向過程(自己買電腦):

強調的是功能行為

關注的是解決問題需要那些步驟

面向對象(托朋友買電腦):

將功能封裝到對象內(朋友就是具有一定功能的對象),強調具備了功能的對象

關注解決問題需要那些對象



面向對象的特點:

是一種符合人們思考習慣的思想

可以將復雜的問題簡單化

程序員從執行者轉變成為指揮者

完成需求時首先要考慮的三件事:

先去尋找具備解決問題功能的對象

如果對象不存在,那么需要自己創建一個具有所需功能的對象

這樣簡化開發并提高代碼的復用性

OC中的類的概念:用來描述一類事物,他是對象的藍本,也就是說想要創建對象就必須先有類,并且一個類可以創建很多對象

一般情況下名詞都是類:有相同(類似)屬性和和行為的對象都可以抽象成為一個類,比如:開著坦克發射了一個炮彈打下來了一個飛機,這句話中的類有"坦克""炮彈""飛機".

?分析一個類?事物名稱,屬性,行為

定義一個類:需要類的名稱,類的屬性和行為

定義一個完整的類:

@interfaceMyClass :NSObject//其中包含new方法

{

@public//屬性公開,表示屬性可以被修改

NSString*name;

intage;

doubleheigth;

}

- (int)sumAge:(int)num;//聲明行為(聲明方法)

@end

@implementationMyClass

- (int)sumAge:(int)num//定義行為的事項方式(定義方法)

{

return(age+ num);

}

@end

定義類的注意點:

默認情況下OC對象中的屬性是不能直接訪問的,只要讓類中的屬性公開,就可以通過一個指向結構體的指針來操作對象中的屬性了,@public這段代碼就是讓一個類變為公開的類

NSObject是為了讓這個類具備創建對象的能力

定義行為的注意點:誰最清楚這個行為,那么該行為就屬于誰(例如電腦的開機關機,這個行為屬于電腦,而不屬于人)

理解:

屬性:它有什么(它有哪些特征)

行為:它能什么(它有哪些功能)



通過一個類來創建一個對象:

我們通說使用new方法來通過一個類創建一個對象: 類名稱 對象名稱 = [類名稱 new];例如:

MyClass*p = [MyClassnew];

注意點:OC中的類本質就是一個結構體,對象名稱實際上是一個指針(指向結構體的指針)

OC中定義一個方法與C中定義一個函數基本一樣,也分四步:

確定方法名稱

確定形參列表

確定返回值

確定返回值類型

注意點:OC中定義的方法如果沒有形參,那么不用寫()直接寫;結束就可以,因為OC中的()是專門來擴數據類型的,例如(void)

OC中的方法分為兩種:類方法,對象方法,

OC中的類方法用+表示,只能由類來調用

OC中的對象方法用- 表示,只能由對象來調用

發消息:

在OC中通過類/對象來調用起方法(功能)的過程叫做給這個類/方法發消息

在OC中只要需要發消息就用[],例如: ?[p about]給p對象發消息調用about方法

對象方法:

特點:在對象方法中想訪問該對象內的屬性,可以直接寫屬性名稱即可

方法中如果有形參,那么需要在每個參數的數據類型前面加上一個冒號:

注意點:冒號也是方法中的一部分,如果一個方法有兩個形參,那么這個方法的名稱后面要帶兩個冒號,也就是說:

sum:

sum::

這是兩個不同的方法名稱

類方法:

如果不想每次使用方法都需要創建對象來開辟存儲空間,并且如果該方法中沒有使用到屬性(成員變量)那么可以把這個方法定義為類方法

類方法和對象方法的區別:

對象方法必須由對象調用,否則會報錯;反之亦然

對象方法可以字節訪問成員變量,類方法中不可以直接訪問屬性(成員變量)

類方法的優點:調用類方法的效率會比調用對象方法高(參考對象在內存中的存儲情況)

類方法和對象方法可以進行相互調用(參考第一點)

4.1 對象方法中可以直接調用類方法

4.2 可以在類方法中簡潔調用對象方法(但是在企業開發中千萬不要這么寫)

4.3 類方法中可以直接調用其他類方法

4.4 對象方法中可以直接調用對象方法

類方法的應用場景:

如果方法中沒有用到屬性,那么盡量使用類方法,因為類方法的效率要高于對象方法

類方法一般用來定義一些工具方法



類方法和對象方法的區別:

對象方法可以直接訪問成員變量,對象方法不可以直接訪問成員變量

對象方法只有對象可以調用,類方法只有類可以調用

類方法的效率要比對象方法高(參考對象在內存中的表現形式)

*對象方法與類方法可以相互調用



如何進行多文件開發,多文件開發有什么好處?

將方法的聲明寫在.h中,將方法的實現寫在.m中,在方法中需要使用誰就導入誰的頭文件

多文件開發可以提高團隊的協作效率

多文件開發可以提高開發的速度

多文件開發可以提高程序的可維護性

多文件開發可以提高代碼的可讀性


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,106評論 6 542
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,441評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,211評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,736評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,475評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,834評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,829評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,009評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,559評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,306評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,516評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,038評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,728評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,132評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,443評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,249評論 3 399
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,484評論 2 379

推薦閱讀更多精彩內容

  • 國家電網公司企業標準(Q/GDW)- 面向對象的用電信息數據交換協議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 11,074評論 6 13
  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結起來就是把...
    Dove_iOS閱讀 27,197評論 30 471
  • 轉至元數據結尾創建: 董瀟偉,最新修改于: 十二月 23, 2016 轉至元數據起始第一章:isa和Class一....
    40c0490e5268閱讀 1,755評論 0 9
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,826評論 18 139
  • get了這項技能,媽媽將水果切的更優雅哦! 圖片來源網絡,您可以在微信公眾號搜索”每周微課(meizhouweik...
    每周微課閱讀 165評論 0 1