iOS開發(fā)技術(shù)入門和基礎(chǔ)知識(shí)_第1頁(yè)
iOS開發(fā)技術(shù)入門和基礎(chǔ)知識(shí)_第2頁(yè)
iOS開發(fā)技術(shù)入門和基礎(chǔ)知識(shí)_第3頁(yè)
iOS開發(fā)技術(shù)入門和基礎(chǔ)知識(shí)_第4頁(yè)
iOS開發(fā)技術(shù)入門和基礎(chǔ)知識(shí)_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

演講人:王益南iOS開發(fā)技術(shù)入門和基礎(chǔ)知識(shí)二月02,20231二月02,20232課程內(nèi)容1iOS開發(fā)入門iOS概述和架構(gòu)介紹iOS開發(fā)限制介紹Hello

World實(shí)例演示iPhone開發(fā)工具安裝和介紹Xcode基礎(chǔ)介紹二月02,20233課程內(nèi)容2OC概述及命名規(guī)范OC變量和常量OC運(yùn)算符和表達(dá)式If語(yǔ)句for語(yǔ)句while語(yǔ)句switch語(yǔ)句二月02,202341、iOS開發(fā)入門

2007年誕生第一代iPhone二月02,20235iOS開發(fā)入門

除了iPhone還有iPad、iPodtouch和AppleTV二月02,20236iOS開發(fā)入門

成為iOS開發(fā)人員/ios二月02,20237iOS開發(fā)入門

iOS授權(quán)賬戶分類:普通賬戶、企業(yè)賬戶、校園賬戶普通授權(quán)賬戶企業(yè)賬戶校園賬戶iOS的SDK試用版YESYESN/AiOS的SDK正式版YESYESYES真機(jī)安裝YESYESYES有償開發(fā)服務(wù)YESYESN/AAdHoc發(fā)布YESYESN/AApp

Store發(fā)布YESN/AN/AIn-Hourse發(fā)布N/AYESN/A企業(yè)的批量采購(gòu)YESN/AN/A內(nèi)置收益廣告YESN/AN/A年費(fèi)$99$299免費(fèi)申請(qǐng)要求合法的信用卡鄧白氏編碼高等教育機(jī)構(gòu)二月02,20238iOS開發(fā)入門

AppStore平臺(tái)二月02,202392、iOS概述和架構(gòu)介紹iOS的發(fā)展歷史2007年6月iPhoneOS1.02008年3月正式發(fā)布iPhoneOS2008年7月Apple推出革命性的商業(yè)模式Appstore2008年8月iPhoneOS2.02009年6月iPhoneOS3.0隨著iPhone3GS一起發(fā)布2010年4月iPad發(fā)布,同時(shí)發(fā)布iPhoneOS3.22010年6月iPhoneOS正式更名為“iOS”,iOS4.0發(fā)布2011年10月iOS5.0與iPhone4S一起發(fā)布2012年9月iOS6.0與iPhone5一起發(fā)布2013年9月iOS7.0與iPhone5s及iPhone5c一起發(fā)布二月02,202310iOS概述和架構(gòu)介紹iPhone3GSiPhone4siPhone5iPhone5s3.5in.Screen320x480pixels3.5in.Screen640x960pixels4.0in.Screen640x1136pixels4.0in.Screen640x1136pixels二月02,202311iOS概述和架構(gòu)介紹iOS操作系統(tǒng)是iPhone、iPodtouch及iPad設(shè)備的核心。iOS平臺(tái)開發(fā)工具和開發(fā)技術(shù)源于MacOSX,都是以UNIX為基礎(chǔ)。iOS應(yīng)用程序開發(fā)依賴于iPhone軟件開發(fā)包(SDK),其中SDK繼承與Xcode中XcodeiOS

SDKMac

OS

XXcode

3.2.6iOS

SDK

4.3GM

Seed

for

Snow

Leopard

10.6.6Xcode

4.0.2iOS

SDK

4.3.2Snow

Leopard

10.6.6Xcode

4.1iOS

SDK

5.0Snow

Leopard

10.6.7Xcode

4.2iOS

SDK

5.0Snow

Leopard

10.6.7Xcode

4.3.2iOS

SDK

5.1Lion

10.7.xXcode

4.6iOS

SDK

6.1Lion

10.7.4Xcode

5.0iOS

SDK

7.0Mountain

Lion

10.8.5二月02,202312iOS概述和架構(gòu)介紹從整體看,iOS扮演底層硬件和應(yīng)用程序的中介。創(chuàng)建的應(yīng)用程序不能直接訪問硬件,而需要和系統(tǒng)接口進(jìn)行交互。iOS實(shí)現(xiàn)可以看作多個(gè)層的集合,底層為所有程序提供基礎(chǔ)服務(wù),高層則包含一些復(fù)雜的服務(wù)和技術(shù)。二月02,202313iOS概述和架構(gòu)介紹COCOATOUCH層提供了基本的系統(tǒng)行為支持,當(dāng)需要實(shí)現(xiàn)更為復(fù)雜的行為和界面時(shí),才考慮向下層探尋技術(shù)支持。UIKit框架:提供程序運(yùn)行必須得關(guān)鍵對(duì)象,使APP能夠捕獲用戶輸入和在屏幕上顯示內(nèi)容。MapKit框架:iOS3.0引入該框架,可被嵌入到應(yīng)用程序的地圖界面,該框架包含一個(gè)可以滾動(dòng)的地圖視圖。Address

Book

UI框架:iOS3.0引入該框架,用于撰寫電子郵件,并將其放入到用戶的發(fā)件箱排隊(duì)等候發(fā)送。Message

UI框架:顯示創(chuàng)建或者編輯聯(lián)系人的標(biāo)準(zhǔn)系統(tǒng)界面。還有GameKit,EventKitUI,iAd框架等二月02,202314iOS概述和架構(gòu)介紹Media層包含圖形、音頻、視頻等技術(shù)。AVFoundation框架:用于播放和編輯復(fù)雜的音頻和視頻。CoreImage框架:包含高級(jí)圖像和視頻處理功能。如:人臉識(shí)別和圖像過濾功能。CoreGraphics框架:包含2D繪畫和合成功能。MediaPlayer框架:提供典型的屏幕控件用于播放電影。QuartzCore框架:包含CoreAnimation接口。用于實(shí)現(xiàn)復(fù)雜的動(dòng)畫和視覺效果。還有ImageI/O,CoreText等框架。二月02,202315iOS概述和架構(gòu)介紹CORESERVICE層

用于訪問較多低級(jí)的操作系統(tǒng)服務(wù),如文件存取,聯(lián)網(wǎng)和常見的數(shù)據(jù)對(duì)象類型。Foundation框架:為CoreFoundation框架的許多功能提供Objective-C封裝。CoreFoundation框架:一組C語(yǔ)言的接口,為iOS應(yīng)用程序提供基本數(shù)據(jù)管理和服務(wù)功能。CoreLocation框架:用于定位設(shè)備當(dāng)前經(jīng)緯度。SystemConfiguration:用于確定設(shè)備網(wǎng)絡(luò)配置的當(dāng)前狀態(tài)。還有CFNetwork、CoreData、QuickLook等框架。二月02,2023163、iOS開發(fā)限制介紹平臺(tái)間差異:iPhoneOS設(shè)備和臺(tái)式機(jī)或筆記本電腦的開發(fā)的不同,也和桌面應(yīng)用程序不同,需要意識(shí)到終端開發(fā)的特殊性。屏幕大小的限制:由于iPhoneOS設(shè)備具有高分辨率的小型屏幕,在iphone5之前設(shè)備都是3.5in,iphone5及iphone5c,iphone5s都是4.0in,在設(shè)計(jì)應(yīng)用時(shí)需要注意不要放置非必要的元素。內(nèi)存限制:iOS的內(nèi)存非常有限,避免分配超出設(shè)備的可用內(nèi)存,不然應(yīng)用程序?qū)⒔K止。當(dāng)發(fā)生內(nèi)存過低時(shí),iOS系統(tǒng)將發(fā)出警告,需要進(jìn)行及時(shí)清理內(nèi)存。同時(shí)需要注意避免內(nèi)存泄露。窗口顯示限制:在iOS環(huán)境上,用戶每次只能看到單個(gè)窗口。多個(gè)窗口只能順序訪問和查看。電量限制:iPhoneOS設(shè)備是通過電池供電,而高速運(yùn)轉(zhuǎn)的系統(tǒng),大屏幕,上網(wǎng)或看電子書都會(huì)消耗電量。二月02,2023174、Hello

World實(shí)例演示3種創(chuàng)建方式NSBundle類創(chuàng)建

直接使用Single

View

Application創(chuàng)建工程,拖動(dòng)UILabel顯示。

Interface

Builder創(chuàng)建

創(chuàng)建一個(gè)Empty

Application工程,新建一個(gè)xib文件并添加到界面。

直接使用“手寫”代碼創(chuàng)建二月02,2023185、iPhone開發(fā)工具安裝和介紹Xcode:iOS集成開發(fā)環(huán)境,也是編譯器,負(fù)責(zé)管理應(yīng)用程序工程。InterfaceBuilder:

快速原型開發(fā)工具,可視化的組裝用戶UI接口的工具,集成在Xcode中。Instruments:功能強(qiáng)大的性能調(diào)試工具,以及內(nèi)存分析工具。iPhoneSimulator:MacOSX平臺(tái)應(yīng)用程序,它是模擬應(yīng)用程序,但不能完全模擬所有功能。iOSSDK:iOS軟件開發(fā)工具包。二月02,202319iPhone開發(fā)工具安裝和介紹下載Xcode并安裝開發(fā)環(huán)境必須是MacOSX系統(tǒng),可以是在window上安裝MacOSX的虛擬機(jī)直接在AppStore上搜索Xcode,進(jìn)行下載安裝若要下載舊版本登陸/devcenter/ios/index.actionXcode中包含Xcode.app,iPhoneSDK,iPhoneSimulator,Instruments下載完成后運(yùn)行安裝程序,沒必要修改任何默認(rèn)配置,不斷點(diǎn)擊continues按鈕完成安裝。安裝完成即可運(yùn)行Xcode。二月02,2023206、Xcode基礎(chǔ)介紹進(jìn)行Xcode后選擇“Create

a

New

Xcode

project”創(chuàng)建新項(xiàng)目二月02,202321Xcode基礎(chǔ)介紹Xcode操作界面二月02,202322Xcode基礎(chǔ)介紹Xcode項(xiàng)目的文件組織二月02,202323Xcode基礎(chǔ)介紹項(xiàng)目文件釋義SupportingFilesplist文件:應(yīng)用程序相關(guān)設(shè)置(屬性)的文件strings文件:設(shè)置應(yīng)用程序本地化的文件main.m:程序的入口pch文件:程序的預(yù)處理文件frameworks存放框架位置products應(yīng)用程序執(zhí)行文件二月02,202324Xcode基礎(chǔ)介紹模擬器常用操作選取設(shè)備旋轉(zhuǎn)設(shè)備返回首頁(yè)鎖定模擬內(nèi)存警告呼叫狀態(tài)欄目拷貝屏幕以及屏幕快照常用快捷鍵二月02,2023251.OC概述及命名規(guī)則計(jì)算機(jī)語(yǔ)言的歷史第一代編程語(yǔ)言純機(jī)器語(yǔ)言第二代編程語(yǔ)言匯編第三代編程語(yǔ)言C、Pascal等面向過程的語(yǔ)言C++、java面向?qū)ο蟮恼Z(yǔ)言oc同樣是面向?qū)ο蟮恼Z(yǔ)言二月02,202326OC概述及命名規(guī)則OC概述MacOSX和iOS使用相同的開發(fā)環(huán)境和開發(fā)語(yǔ)言—Objective-C。由于Mac

OS

X和iOS都是基于Unix內(nèi)核,所以對(duì)大小寫敏感。oc是C語(yǔ)言的超集,C語(yǔ)言的擴(kuò)展,與C語(yǔ)言完全兼容。添加了關(guān)鍵字“@”,區(qū)別于C語(yǔ)言。oc的頭文件格式是“.h”,實(shí)現(xiàn)文件格式是“.m”。如果需要使用C++的語(yǔ)法和內(nèi)容,那么實(shí)現(xiàn)文件格式是“.mm”。歷史:1988年喬布斯的NeXT公司買下StepStone代碼授權(quán)和Objective-C商標(biāo)權(quán)。1996年蘋果公司收購(gòu)NeXT公司,將操作系統(tǒng)NeXTSTEP重名成Cocoa(很多Cocoa框架的類庫(kù)都以NS開頭),Objective-C語(yǔ)言成為蘋果公司的主要使用語(yǔ)言。2007年更新為Objective-C

2.0。二月02,202327OC概述及命名規(guī)則命名規(guī)則oc語(yǔ)言中,對(duì)各種變量、方法和類等要素命名時(shí)使用的字符序列稱為標(biāo)識(shí)符。oc標(biāo)識(shí)符由字母、數(shù)字、美元符“$”和下劃線“_”組成。名字開頭首位都會(huì)寫上字母,因?yàn)閿?shù)字被認(rèn)為是非法的,下劃線被認(rèn)為有特殊含義(下劃線的變量慣例為成員變量,雙下劃線的變量慣例為系統(tǒng)內(nèi)部變量)。oc標(biāo)識(shí)符大小寫敏感,長(zhǎng)度無(wú)限制。&user

錯(cuò)誤?!?”作為首位且不支持此符號(hào)。sum(a_b)

錯(cuò)誤?!埃ǎ辈恢С执朔?hào)。email

address錯(cuò)誤。不支持空格。5cakes錯(cuò)誤。數(shù)字不可以作為名字首位。char錯(cuò)誤。不能與oc中保留字重名。二月02,202328OC概述及命名規(guī)則保留字,即關(guān)鍵字(keyword),系統(tǒng)專門使用的字符串。oc中的關(guān)鍵字全部都是小寫。intenumfloatgotodoubleregistershortsizeofstructtypedefunsignedvolatilebreakcharcontinuedolongexternforwhileautoreturnsignedstaticswitchunionvoidifcaseconstdefaultelse二月02,202329OC概述及命名規(guī)則命名規(guī)范匈牙利命名法:變量名=變量特性+變量類型+描述如m_iUserID變量,m代表member,i代表integaer,UserID變量含義。變量特性g_:全局變量c_:常量s_:靜態(tài)變量m_:類成員變量變量類型簡(jiǎn)寫變量類型簡(jiǎn)寫charch或cchar*szinti或ndoubledpointerplonglboolbunsignedufloatf二月02,202330OC概述及命名規(guī)則命名規(guī)范駝峰式命名法:即每個(gè)單詞的首字母大寫,但變量名的第一位小寫。通常在變量名前些上變量類型的簡(jiǎn)稱。

NSString*strUnitTestResult;NSString*unitTestResult;NSArray*arrTestResult;其中NSString和NSArray常用簡(jiǎn)寫str和arr。為了避免不同開發(fā)者創(chuàng)建相同名字的變量、方法或類的情況,最好在名字前加上一個(gè)前綴。如NS(NEXTSTEP的縮寫)前綴,表示Foundation類庫(kù)。二月02,202331OC概述及命名規(guī)則代碼格式規(guī)范大括號(hào)要對(duì)齊遇到“{”Tab縮進(jìn)方法和程序塊之間加換行運(yùn)算符兩側(cè)加空格“{”前面有空格“{}”成對(duì)出現(xiàn)二月02,2023322.OC變量和常量常量oc中不同的數(shù)據(jù)類型表示的常量:constintkInitNum=123;整型常量constfloatkPI=3.1415926;實(shí)型常量constBOOLkIsFinished=TRUE;邏輯常量constcharkExamResult='a';字符常量constchar

*kWelcome="HelloWorld!";字符串常量constNSString*kBaiduURL=@"";oc中約定,常量使用大小寫混排的駝峰命名規(guī)則,第一個(gè)字母是k。objective-c中方法不能使用const修飾。二月02,202333OC變量和常量變量oc變量是程序中最基本的存儲(chǔ)單元,其要素包括變量名,變量類型和作用域。oc程序中每一個(gè)變量都屬于特定的數(shù)據(jù)類型,在使用前必須對(duì)其聲明。如:int

i=12345;floatf=12.12f;按被聲明的位置可分為:局部變量:方法或語(yǔ)句塊內(nèi)部定義的變量實(shí)例變量:(成員變量)方法外部、類的內(nèi)部定義的變量按所屬的數(shù)據(jù)類型可分為:基本數(shù)據(jù)類型變量和指針數(shù)據(jù)類型變量二月02,202334OC變量和常量變量局部變量:方法體內(nèi)部聲明的變量(包括形參)。方法體內(nèi)部是指與方法對(duì)應(yīng)的大括號(hào)內(nèi)部。-(void)test{NSString*str=@“helloWorld!”;//str就是一個(gè)局部變量。}成員變量:在方法體外,類體內(nèi)聲明的變量。@interfaceAppDelegate:UIResponder<UIApplicationDelegate>{NSString*_name;

//_name就是一個(gè)成員變量}二月02,202335OC變量和常量id類型id類型是oc中獨(dú)有的數(shù)據(jù)類型,它可以存儲(chǔ)任何類型的對(duì)象,從某種意義上說(shuō),它就是一般的對(duì)象類型。id指向一個(gè)任何類型對(duì)象的指針。但是不能存儲(chǔ)基本類型int,float。需要注意的是id是一個(gè)指針,所以在使用id的時(shí)候不需要加“*”。如,id

foo

=

nil;id*foo

=

nil;//則foo是一個(gè)指向另一個(gè)指針的指針。二月02,2023363.OC運(yùn)算符和表達(dá)式運(yùn)算符算術(shù)運(yùn)算符:+,-,*,/,%,++,--關(guān)系運(yùn)算符:>,<,>=,<=,==,!=邏輯運(yùn)算符:!,&&,||位運(yùn)算符:&,|,^,~,>>,<<賦值運(yùn)算符:=擴(kuò)展賦值運(yùn)算符:+=,-=,*=,/=條件運(yùn)算符:?:優(yōu)先級(jí):!>算術(shù)運(yùn)算符>關(guān)系運(yùn)算符>&&>||>賦值運(yùn)算符二月02,202337OC運(yùn)算符和表達(dá)式表達(dá)式表達(dá)式是符合一定語(yǔ)法規(guī)則的運(yùn)算符和操作數(shù)的序列。1.0

+

ai<10&&i%10!=0表達(dá)式的類型和值對(duì)表達(dá)式中操作數(shù)進(jìn)行運(yùn)算得到的結(jié)果稱為表達(dá)式的值。表達(dá)式值的數(shù)據(jù)類型即為表達(dá)式的類型。表達(dá)式的運(yùn)算順序應(yīng)按照運(yùn)算符的優(yōu)先級(jí)從高到低得順序進(jìn)行。優(yōu)先級(jí)相同的運(yùn)算符按照事先約定的結(jié)合方向進(jìn)行。二月02,2023384.if語(yǔ)句條件語(yǔ)句-根據(jù)不同條件,執(zhí)行不同語(yǔ)句ifif…elseif…elseifif…elseif…elseif…elseif(表達(dá)式)//語(yǔ)句表達(dá)式返回TRUE(即非0),則執(zhí)行。如:if(有錢)就去旅游只有一句需要執(zhí)行的語(yǔ)句時(shí),才可以省略{},但是不推薦省略。二月02,2023395.for語(yǔ)句循環(huán)語(yǔ)句-重復(fù)執(zhí)行某些動(dòng)作for語(yǔ)句為如下形式:for(表達(dá)式1;循環(huán)條件;表達(dá)式2){

//語(yǔ)句;……}執(zhí)行過程:先求表達(dá)式1的值,再求循環(huán)條件的值,如果條件不滿足(即表達(dá)式為false),循環(huán)立即終止,執(zhí)行循環(huán)后的語(yǔ)句。如果條件滿足,繼續(xù)執(zhí)行循環(huán)條件的值,如果條件滿足,執(zhí)行表達(dá)式2,如此循環(huán)。二月02,202340for語(yǔ)句在oc中,蘋果對(duì)于集合類型的對(duì)象新增了“in”語(yǔ)法。NSArray*arrData=@[@"123",@"456",@"789"];for(NSString*strinarrData){N

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論