ios開發學習筆記(1),ios開發學習筆記

來源:互聯網
上載者:User

ios開發學習筆記(1),ios開發學習筆記
objective-c基礎總結第一二章

1.application:didiFinishLauchingWithOptions:程式啟動後立即執行

2.啟動介面代碼格式:
self.window = [UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
//1.從Infor.plist中取出版本號碼
NString *version = [NSBundle mainBundle].infoDictionary[key];
//2.從沙箱中取出上次儲存的版本號碼
NSString *saveVersion = [[NSUserDefaults standaryUserDefaults] objectForKey:key];

if(([version isEqualToString:saveVersion])){
//如果不是第一次使用版本
//顯示狀態列
application.statusBarHidden= NO;
//等待寫
//self.window.rootViewController = [[*** alloc] init];


}
else
{
//版本號碼不一樣 第一次使用新版本
//將新版本號碼寫入沙箱
[[NSUserDefaults standardUserDefaults] setObject:version forkey:key];
[[NSUserDefaults standartUserDefaults] synchronize];
//顯示版本新特性介面
self.window.rootViewController = [[*** alloc] init];
}
[self.window makeKeyAndVisible];

return YES;

3.管理快照:Xcode快照是一種功能有限的版本控制(適用於中小型項目)

4.CGRectMake使用前兩個數值表示文字標籤距離離螢幕上邊緣和下邊緣的位置,後兩個數值表示文字標籤的寬度和高度

5.info.plist結尾檔案:描述項目本身的屬性。必須在什麼地方設定應用程式的表徵圖、啟動映像、支援的裝置朝向等。項目導航器,可視化設定眾多的plist選項

6.用於常規螢幕的圖表明為Icon.png,而用於Retina螢幕的表徵圖名為Icon@2x.png,當應用程式在使用Retina螢幕的裝置上運行時,如果它被要求顯示一幅映像,它將自動使用包含尾碼@2x(名稱與指定的名稱相同)的映像資源。這讓開發人員無需修改應用程式的任何代碼就能支援Retina螢幕。還可以可視化Summary選線卡的Deployment Info部分設定啟動映像。對於iPhone,只能設定縱向啟動映像,但iPad支援橫向和縱向啟動映像。

7.設定狀態列:Status bar is initially Hidden(預設隱藏狀態列) NO顯示狀態列

 

第三章 探索Apple平台語言Objective-C

1.(1)OOP(物件導向編程)使用的指令類型與過程型編程相稱,但通過組織它們讓應用程式易於維護,並儘可能重用代碼。在OOP中,您將建立對象,其中儲存了描述某種東西的資料以及操縱這些資料的指令。(2)OOP的另一個重要的方面是繼承

2.術語介紹:
》類:定義對象及其功能的代碼,通常由標頭檔/介面檔案和實現檔案組成。
》子類:建立在另一個類的基礎之上並添加了額外的功能。您在iOS開發中使用的幾乎任何東西都是其他某種東西的子類,它繼承了父類的所有功能和屬性
》超類/父類:另一個類繼承的類
》單例:在程式的整個生命週期內,只能執行個體化一次的類。例如,獲悉裝置朝向的類被實現為單例,因為只有一個返回朝向資訊的感應器。
》對象/執行個體:在代碼中調用並出於活動狀態的類。類是讓對象能夠工作的代碼,而對象是處於活動狀態的類。對象也被稱為類的執行個體。
》執行個體化:根據類建立使用中的物件的過程
》執行個體方法:在類中實現的一項準系統。對於提醒類,這可能是為給定提醒設定警報的setAlarm
》類方法:類似於執行個體方法,但使用與根據類建立的所有對象。
》訊息:當您需要使用對象的方法時,您給對象發送一條資訊,這有稱為成為調用方法
》執行個體變數:對象特有的一項資訊的儲存位置。
》變數:資訊的儲存位置。不用於執行個體變數,常規變數通常只能在定義它的方法內使用。
》參數:調用方法時向它提供的一項資訊。如果要調用提醒對象的“設定警報”方法,則必須提供要設定的時間。在這種情況下,該時間將是setAlarm方法的一個參數
》屬性:使用特殊編譯指令配置的一個執行個體變數,這樣可在代碼中方便地訪問它
》Self:一種在方法中引用當前對象的方式。在應用程式中使用執行個體方法或屬性時,必須使用特定對象限定它。在類中編寫訪問其方法或屬性的代碼時,可使用self來引用當前對象。

3.類的介面檔案和實現檔案的名稱通常與類名相同。.h介面檔案 .m實現檔案。協議是Objective-C特有的一種功能,需要編寫的方法被集合在一起,並用同一個名稱標識,這被稱為協議

4.@property編譯指令,與另一個名為synthesize的命令結合使用,以簡化與介面中定義的執行個體變數的互動方式。@property和@synthesize的作用是為編寫設定函數和擷取函數,並且優雅方便使用

5.在編譯指令@property中指定屬性(strong,nonatomic)告訴Xcode如何處理屬性引用的。屬性(attribute)strong 告訴系統,保留引用的對象,而不要將其從記憶體中刪除。屬性(nonatomic)告訴Xcode,不用擔心應用程式的不同部分同時使用該屬性的問題。

6.+類方法,-執行個體方法。

7.定義方法1:+(方法返回的類型)方法名:(方法期望的資訊類型)引用該資訊的變數名, 定義方法2:+(方法返回的類型)方法名:(方法期望的資訊類型)引用該資訊的變數名 添加簡短的描述標籤:資料類型:變數名


8.如果您不知道將給方法傳遞什麼或希望能夠從同一個方法返回不同類型的對象,id類型很有用

9.使用@property和@synthesize 結合可以使我們能夠以直觀的方式訪問和修改執行個體變數

10.@implementation myclass 告訴Xcode該檔案實現那個類

11.使用方法被稱為給對象發送資訊

12.有一些(循環參考)ARC 無法清理,A引用B B引用C C引用D D引用B 循環參考 ,A可以使用完對象B 但BCD存在循環參考,將無法釋放這三個對象,避免這樣的問題可以使用弱引用(Weak reference)

第四章:Cocoa Touch內幕

1.Apple每個iOS應用程式模板中都包括三個重要架構(CoreGraphics、Foundation、UIKit)

2.Cocoa Touch層:(1)UIKit:負責啟動和結束應用程式、控制介面和多點觸摸,並讓您能夠訪問常見的資料檢視(Word Excel)(2)Map Kit:讓開發人員在任何應用程式中添加Goodle地圖視圖,包括標註、定位、事件處理功能(3)Game Kit:網路互動性(4)Message UI/Address Book UI/Event Kit UI:應用程式之間整合需求(5)iAd:使應用程式加入廣告

3.多媒體層:(1)AV Foundation:用於播放和編輯複雜的音頻和視頻。如電影錄製、音軌管理和音頻平移(2)Core Audio:提供iPhone中播放和錄製音訊方法(3)Core Image:開發人員在應用程式添加進階映像和視頻處理功能(4)Core Graphics:添加2D回話和合成功能(5)對iPhone螢幕上顯示的文本進行精確的定位和控制(6)Image I/O:匯入與匯出映像資料和映像中繼資料(7)Media Player:使用典型的螢幕空間輕鬆地播放電影(8)OpenGL ES:建立2D 3D動畫(9)Quartz Core用於建立動畫:利用裝置的硬體功能

4.核心服務層:(1)Accounts:用於儲存眾多不同服務的帳號資訊(2)Address Book:用於直接存取和操作地址薄(3)CFNetwork:訪問BSD通訊端、HTTP和FTP協議請求以及Bonjour發現(4)Core Data:建立資料模型提供一個SQLite關係的資料庫模型
(5)Core Foundation:與Foundation架構相同(6)Foundation:提供一個封裝器(操作字串 數組和字典都是通過Foundation架構進行的)(7)Event Kit:訪問儲存的行事曆資訊(8)Core Location:用於iPhone iPad 3G GPS擷取經緯度和測量精度
(9)Core Motion:管理大部分與運動相關的事件:使用加速劑和陀螺儀(10)Quick Look:實現檔案瀏覽功能(11)Store Kit:建立購買實物(12)System Configuration:用於確定裝置網路設定的目前狀態


5.核心OS層:(1)Accelerate:簡化計算和大資料操作任務,包括數字訊號處理功能
(2)External Accessory:用於開發到配件的借口(3)Security:提供執行加密(添加 刪除 修改密鑰項)(4)System:訪問不受限制的UNIX開發環境當中一些典型的工具

6.根類(NSObjct)應用程式類(UIApplication)視窗類別(UIWindow)視圖(UIView)響應者(UIResponder)螢幕控制項(UIControl)視圖控製圖UIController

7.字串NSString/NSMutableString其中NSMutableString可用與建立可被修改的字串。NSString在初始化後就不可改變,NsMutableString可以修改(加長、縮短、替換等)

8.數組(NSArray/NSMutableArray)

9.字典(NSDictionary/NSMutableDictionary)字典以索引值對形式存在

10.數字(NSNumber/NSDecimalNumber)可以將數字作為對象輕鬆加入數組或字典中,NSDecimalNumber是NSNumber的一個子類

11.日期(NSData)

12.網址(URL)

13介面類:標籤(UILabel)按鈕(UIButton)開關(UISwitch)分段控制項(UISegmentedControl)滑塊(UISlider)步進控制項(UIStepper)文字框(UITextField/UITextView)選取器(UIDatePicker/UIPicker)彈出框(UIPopoverController)

第五章:Cocoa Touch內幕

1.執行個體化指的是建立對象的執行個體,讓您能夠在程式當中使用,獲得其類當中的所有功能

2.IB(Interface Builder)故事板 開啟storyboard顯示該故事板的檔案骨架

第六章:模型-視圖-控制器的應用程式設計

1.視圖控制器可包含應用程式邏輯,但這不以為著所有代碼都包含視圖控制器中。可以在核實的時候定義額外的類,已抽象應用程式邏輯

2.使用IBOutlet:用於讓代碼能夠與視圖中的對象互動(例如:@property(strong,nonatomic) UILbel *myLabel1與:@property(strong,nonatomic) IBOutlet UILbel *myLabel1配套使用)

3.對於介面檔案.h中的每個編譯指令@property實現檔案.m中都必須有對應的編譯智力高@synthesize

4.使用IBAction:用於指出在特定的事件發生時應調用代碼中相應的方法。(例如使用者點擊了某個按鈕或更新了文字框)採取相應的措施

5.AppDelegate.h 和AppDelegate.m組成了該項目將建立的UIAppkucation執行個體的委託,可對檔案進行編輯,已添加控制應用程式運行時如何工作的方法。

6.ViewController.h ViewController.m實現一個視圖控制器(UIViewControoler)這個類包含控制試圖的邏輯。

7.確保使用完試圖後,在代碼中定義的執行個體變數不再指向對象。可以將執行個體變數對應的屬性設定為nil這樣這些文字框和標籤佔用的記憶體可被重用

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.