版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
演講人:王益南iOS開(kāi)發(fā)技術(shù)入門(mén)和基礎(chǔ)知識(shí)二月02,20231二月02,20232課程內(nèi)容1iOS開(kāi)發(fā)入門(mén)iOS概述和架構(gòu)介紹iOS開(kāi)發(fā)限制介紹Hello
World實(shí)例演示iPhone開(kāi)發(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開(kāi)發(fā)入門(mén)
2007年誕生第一代iPhone二月02,20235iOS開(kāi)發(fā)入門(mén)
除了iPhone還有iPad、iPodtouch和AppleTV二月02,20236iOS開(kāi)發(fā)入門(mén)
成為iOS開(kāi)發(fā)人員/ios二月02,20237iOS開(kāi)發(fā)入門(mén)
iOS授權(quán)賬戶分類(lèi):普通賬戶、企業(yè)賬戶、校園賬戶普通授權(quán)賬戶企業(yè)賬戶校園賬戶iOS的SDK試用版YESYESN/AiOS的SDK正式版YESYESYES真機(jī)安裝YESYESYES有償開(kāi)發(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開(kāi)發(fā)入門(mén)
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)開(kāi)發(fā)工具和開(kāi)發(fā)技術(shù)源于MacOSX,都是以UNIX為基礎(chǔ)。iOS應(yīng)用程序開(kāi)發(fā)依賴(lài)于iPhone軟件開(kāi)發(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)用程序不能直接訪問(wèn)硬件,而需要和系統(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引入該框架,用于撰寫(xiě)電子郵件,并將其放入到用戶的發(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í)別和圖像過(guò)濾功能。CoreGraphics框架:包含2D繪畫(huà)和合成功能。MediaPlayer框架:提供典型的屏幕控件用于播放電影。QuartzCore框架:包含CoreAnimation接口。用于實(shí)現(xiàn)復(fù)雜的動(dòng)畫(huà)和視覺(jué)效果。還有ImageI/O,CoreText等框架。二月02,202315iOS概述和架構(gòu)介紹CORESERVICE層
用于訪問(wèn)較多低級(jí)的操作系統(tǒng)服務(wù),如文件存取,聯(lián)網(wǎng)和常見(jiàn)的數(shù)據(jù)對(duì)象類(lèi)型。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開(kāi)發(fā)限制介紹平臺(tái)間差異:iPhoneOS設(shè)備和臺(tái)式機(jī)或筆記本電腦的開(kāi)發(fā)的不同,也和桌面應(yīng)用程序不同,需要意識(shí)到終端開(kāi)發(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)存過(guò)低時(shí),iOS系統(tǒng)將發(fā)出警告,需要進(jìn)行及時(shí)清理內(nèi)存。同時(shí)需要注意避免內(nèi)存泄露。窗口顯示限制:在iOS環(huán)境上,用戶每次只能看到單個(gè)窗口。多個(gè)窗口只能順序訪問(wèn)和查看。電量限制:iPhoneOS設(shè)備是通過(guò)電池供電,而高速運(yùn)轉(zhuǎn)的系統(tǒng),大屏幕,上網(wǎng)或看電子書(shū)都會(huì)消耗電量。二月02,2023174、Hello
World實(shí)例演示3種創(chuàng)建方式NSBundle類(lèi)創(chuàng)建
直接使用Single
View
Application創(chuàng)建工程,拖動(dòng)UILabel顯示。
Interface
Builder創(chuàng)建
創(chuàng)建一個(gè)Empty
Application工程,新建一個(gè)xib文件并添加到界面。
直接使用“手寫(xiě)”代碼創(chuàng)建二月02,2023185、iPhone開(kāi)發(fā)工具安裝和介紹Xcode:iOS集成開(kāi)發(fā)環(huán)境,也是編譯器,負(fù)責(zé)管理應(yīng)用程序工程。InterfaceBuilder:
快速原型開(kāi)發(fā)工具,可視化的組裝用戶UI接口的工具,集成在Xcode中。Instruments:功能強(qiáng)大的性能調(diào)試工具,以及內(nèi)存分析工具。iPhoneSimulator:MacOSX平臺(tái)應(yīng)用程序,它是模擬應(yīng)用程序,但不能完全模擬所有功能。iOSSDK:iOS軟件開(kāi)發(fā)工具包。二月02,202319iPhone開(kāi)發(fā)工具安裝和介紹下載Xcode并安裝開(kāi)發(fā)環(huán)境必須是MacOSX系統(tǒng),可以是在window上安裝MacOSX的虛擬機(jī)直接在AppStore上搜索Xcode,進(jìn)行下載安裝若要下載舊版本登陸/devcenter/ios/index.actionXcode中包含Xcode.app,iPhoneSDK,iPhoneSimulator,Instruments下載完成后運(yùn)行安裝程序,沒(méi)必要修改任何默認(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等面向過(guò)程的語(yǔ)言C++、java面向?qū)ο蟮恼Z(yǔ)言oc同樣是面向?qū)ο蟮恼Z(yǔ)言二月02,202326OC概述及命名規(guī)則OC概述MacOSX和iOS使用相同的開(kāi)發(fā)環(huán)境和開(kāi)發(fā)語(yǔ)言—Objective-C。由于Mac
OS
X和iOS都是基于Unix內(nèi)核,所以對(duì)大小寫(xiě)敏感。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公司買(mǎi)下StepStone代碼授權(quán)和Objective-C商標(biāo)權(quán)。1996年蘋(píng)果公司收購(gòu)NeXT公司,將操作系統(tǒng)NeXTSTEP重名成Cocoa(很多Cocoa框架的類(lèi)庫(kù)都以NS開(kāi)頭),Objective-C語(yǔ)言成為蘋(píng)果公司的主要使用語(yǔ)言。2007年更新為Objective-C
2.0。二月02,202327OC概述及命名規(guī)則命名規(guī)則oc語(yǔ)言中,對(duì)各種變量、方法和類(lèi)等要素命名時(shí)使用的字符序列稱(chēng)為標(biāo)識(shí)符。oc標(biāo)識(shí)符由字母、數(shù)字、美元符“$”和下劃線“_”組成。名字開(kāi)頭首位都會(huì)寫(xiě)上字母,因?yàn)閿?shù)字被認(rèn)為是非法的,下劃線被認(rèn)為有特殊含義(下劃線的變量慣例為成員變量,雙下劃線的變量慣例為系統(tǒng)內(nèi)部變量)。oc標(biāo)識(shí)符大小寫(xiě)敏感,長(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)專(zhuān)門(mén)使用的字符串。oc中的關(guān)鍵字全部都是小寫(xiě)。intenumfloatgotodoubleregistershortsizeofstructtypedefunsignedvolatilebreakcharcontinuedolongexternforwhileautoreturnsignedstaticswitchunionvoidifcaseconstdefaultelse二月02,202329OC概述及命名規(guī)則命名規(guī)范匈牙利命名法:變量名=變量特性+變量類(lèi)型+描述如m_iUserID變量,m代表member,i代表integaer,UserID變量含義。變量特性g_:全局變量c_:常量s_:靜態(tài)變量m_:類(lèi)成員變量變量類(lèi)型簡(jiǎn)寫(xiě)變量類(lèi)型簡(jiǎn)寫(xiě)charch或cchar*szinti或ndoubledpointerplonglboolbunsignedufloatf二月02,202330OC概述及命名規(guī)則命名規(guī)范駝峰式命名法:即每個(gè)單詞的首字母大寫(xiě),但變量名的第一位小寫(xiě)。通常在變量名前些上變量類(lèi)型的簡(jiǎn)稱(chēng)。
NSString*strUnitTestResult;NSString*unitTestResult;NSArray*arrTestResult;其中NSString和NSArray常用簡(jiǎn)寫(xiě)str和arr。為了避免不同開(kāi)發(fā)者創(chuàng)建相同名字的變量、方法或類(lèi)的情況,最好在名字前加上一個(gè)前綴。如NS(NEXTSTEP的縮寫(xiě))前綴,表示Foundation類(lèi)庫(kù)。二月02,202331OC概述及命名規(guī)則代碼格式規(guī)范大括號(hào)要對(duì)齊遇到“{”Tab縮進(jìn)方法和程序塊之間加換行運(yùn)算符兩側(cè)加空格“{”前面有空格“{}”成對(duì)出現(xiàn)二月02,2023322.OC變量和常量常量oc中不同的數(shù)據(jù)類(lèi)型表示的常量:constintkInitNum=123;整型常量constfloatkPI=3.1415926;實(shí)型常量constBOOLkIsFinished=TRUE;邏輯常量constcharkExamResult='a';字符常量constchar
*kWelcome="HelloWorld!";字符串常量constNSString*kBaiduURL=@"";oc中約定,常量使用大小寫(xiě)混排的駝峰命名規(guī)則,第一個(gè)字母是k。objective-c中方法不能使用const修飾。二月02,202333OC變量和常量變量oc變量是程序中最基本的存儲(chǔ)單元,其要素包括變量名,變量類(lèi)型和作用域。oc程序中每一個(gè)變量都屬于特定的數(shù)據(jù)類(lèi)型,在使用前必須對(duì)其聲明。如:int
i=12345;floatf=12.12f;按被聲明的位置可分為:局部變量:方法或語(yǔ)句塊內(nèi)部定義的變量實(shí)例變量:(成員變量)方法外部、類(lèi)的內(nèi)部定義的變量按所屬的數(shù)據(jù)類(lèi)型可分為:基本數(shù)據(jù)類(lèi)型變量和指針數(shù)據(jù)類(lèi)型變量二月02,202334OC變量和常量變量局部變量:方法體內(nèi)部聲明的變量(包括形參)。方法體內(nèi)部是指與方法對(duì)應(yīng)的大括號(hào)內(nèi)部。-(void)test{NSString*str=@“helloWorld!”;//str就是一個(gè)局部變量。}成員變量:在方法體外,類(lèi)體內(nèi)聲明的變量。@interfaceAppDelegate:UIResponder<UIApplicationDelegate>{NSString*_name;
//_name就是一個(gè)成員變量}二月02,202335OC變量和常量id類(lèi)型id類(lèi)型是oc中獨(dú)有的數(shù)據(jù)類(lèi)型,它可以存儲(chǔ)任何類(lèi)型的對(duì)象,從某種意義上說(shuō),它就是一般的對(duì)象類(lèi)型。id指向一個(gè)任何類(lèi)型對(duì)象的指針。但是不能存儲(chǔ)基本類(lèi)型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á)式的類(lèi)型和值對(duì)表達(dá)式中操作數(shù)進(jìn)行運(yùn)算得到的結(jié)果稱(chēng)為表達(dá)式的值。表達(dá)式值的數(shù)據(jù)類(lèi)型即為表達(dá)式的類(lèi)型。表達(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(有錢(qián))就去旅游只有一句需要執(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í)行過(guò)程:先求表達(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中,蘋(píng)果對(duì)于集合類(lèi)型的對(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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 浸水擋土墻路堤邊坡穩(wěn)定性分析-課件(-精)
- 《逆全球化粗略綜述》課件
- 《輸卵管與子宮》課件
- 2024年甲乙雙方二手機(jī)床設(shè)備買(mǎi)賣(mài)合同
- 拉頭生產(chǎn)合同范本(2篇)
- 《OCTAVE評(píng)估方法》課件
- 2025年煙臺(tái)貨物從業(yè)資格證考試
- 2025年寶雞貨運(yùn)從業(yè)資格證試題庫(kù)及答案
- 2025年玉溪貨運(yùn)考試題目
- 2025年丹東c1貨運(yùn)從業(yè)資格證考試題
- 北京市海淀區(qū)2023-2024學(xué)年八年級(jí)上學(xué)期期末英語(yǔ)試卷
- 果品類(lèi)原料的烹調(diào)應(yīng)用課件
- 24節(jié)氣中的傳統(tǒng)服飾與飾品
- 地彈簧行業(yè)分析
- 如何發(fā)揮采購(gòu)在公司高質(zhì)量發(fā)展中作用
- 民事糾紛及其解決機(jī)制課件
- 美術(shù)高考總結(jié)匯報(bào)
- 北宋詞之臨江仙夜歸臨皋【宋】蘇軾課件
- 監(jiān)理質(zhì)量評(píng)估報(bào)告
- 《中國(guó)封建社會(huì)》課件
- 藥物代謝動(dòng)力學(xué)-中國(guó)藥科大學(xué)中國(guó)大學(xué)mooc課后章節(jié)答案期末考試題庫(kù)2023年
評(píng)論
0/150
提交評(píng)論