swift開(kāi)發(fā)ios應(yīng)用步驟:
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),長(zhǎng)順企業(yè)網(wǎng)站建設(shè),長(zhǎng)順品牌網(wǎng)站建設(shè),網(wǎng)站定制,長(zhǎng)順網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,長(zhǎng)順網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
創(chuàng)建模板
app創(chuàng)建用戶界面之前,要先創(chuàng)建app的模板。一個(gè)模板就是一個(gè)類。
打開(kāi)TipCalculator.swift,并把TipCalculator類從上一個(gè)項(xiàng)目中復(fù)制過(guò)來(lái)。
把類重命名為T(mén)ipCalculatorModel,把常量total和taxPct改為變量,把subtotal變?yōu)橐粋€(gè)computed property。
創(chuàng)建視圖
Navigation bar。現(xiàn)在添加一個(gè)Navigation bar,選擇視圖控制器接著下面步驟Editor\Embed In\Navigation Controller。
Labels。從對(duì)象庫(kù)中拖動(dòng)一個(gè)Labels到你的視圖控制器。
Text Field。從對(duì)象庫(kù)中拖動(dòng)一個(gè)Text Field到你的視圖控制器。在屬性檢查器中,設(shè)置Keyboard Type=Decimal Pad。
Slider。從對(duì)象庫(kù)中拖動(dòng)一個(gè)Slider到您的視圖控制器。
Auto Layout。 Interface Builder會(huì)自動(dòng)地為你的自動(dòng)布局做大量的合理自動(dòng)布局的設(shè)置。
本文介紹在iOS開(kāi)發(fā)中,Swift實(shí)現(xiàn)清除緩存功能。主要分為統(tǒng)計(jì)緩存文件大小和刪除緩存文件兩個(gè)步驟:
1、要使用swift須擁有一臺(tái)蘋(píng)果電腦。因?yàn)榧砷_(kāi)發(fā)環(huán)境XCode只能運(yùn)行在OS X系統(tǒng)上。電腦系統(tǒng)必須在OS 10.9.3及以上,電腦必須安裝Xcode集成開(kāi)發(fā)環(huán)境。
2、下載完成后,雙擊下載的 dmg 文件安裝,安裝完成后我們將 Xcode 圖標(biāo)踢移動(dòng)到應(yīng)用文件夾。Xcode 安裝完成后,就可以開(kāi)始編寫(xiě) Swift 代碼了。接下來(lái)我們?cè)趹?yīng)用文件夾打開(kāi) Xcode,打開(kāi)后在屏幕頂部選擇 File = New = Playground。接著 為 playground 設(shè)置一個(gè)名字并選擇 iOS 平臺(tái)。
3、如果你想創(chuàng)建 OS x 程序,需要導(dǎo)入 Cocoa 包 import Cocoa以上程序載入后,會(huì)在Playground 窗口右側(cè)顯示程序執(zhí)行結(jié)果。
4、選擇一個(gè)Single View Application,并點(diǎn)擊next,創(chuàng)建一個(gè)簡(jiǎn)單示例app應(yīng)用。
5、接著我們輸入項(xiàng)目名稱(ProductName),公司名稱(Organization Name),公司標(biāo)識(shí)前綴名(Organization identifier) 還要選擇開(kāi)發(fā)語(yǔ)言(Language),選擇設(shè)備(Devices)。其中Language有兩個(gè)選項(xiàng):Objective-c和swift,因?yàn)槲覀兪菍W(xué)習(xí)swift當(dāng)然選擇swift項(xiàng)了。 點(diǎn)擊Next下一步。
6、選擇存放的目錄,如果要使用Git源代碼管理,將勾上Source Control的create git repository on My Mac. 點(diǎn)擊create創(chuàng)建項(xiàng)目。
7、項(xiàng)目創(chuàng)建后,默認(rèn)生成了一個(gè)示例文件,可以看到swift將oc中的h和m文件合并成了一個(gè)文件(即swift后綴名文件). Main.storyboard相當(dāng)于xib文件,有比xib更多的功能。
8、打開(kāi)main.storyboard,默認(rèn)看到一個(gè)簡(jiǎn)單的空白的應(yīng)用界面,大小為平板界面大小。 如果開(kāi)發(fā)都只需要開(kāi)發(fā)兼容iphone手機(jī)的app,那么可以把Use Auto Layout的勾去掉(默認(rèn)為勾上)。彈出了一個(gè)對(duì)話框,讓我們選擇界面尺寸,iPhone 或 iPad。我們選擇iPhone的尺寸。
9、界面添加點(diǎn)內(nèi)容,在右下方找到Text控件,將它拖入storyboard上,并雙擊寫(xiě)入文本Hello World!
10、運(yùn)行一下模擬器(command+R 快捷鍵或在菜單欄中選擇 Product = Run)。
至此,第一個(gè)Swift項(xiàng)目就完成了。
10、swift介紹
《Swift》是一種支持多編程范式和編譯式的開(kāi)源編程語(yǔ)言,蘋(píng)果于2014年WWDC(蘋(píng)果開(kāi)發(fā)者大會(huì))發(fā)布,用于開(kāi)發(fā) iOS,OS X 和 watchOS 應(yīng)用程序。 Swift 結(jié)合了 C 和 Objective-C 的優(yōu)點(diǎn)并且不受 C 兼容性的限制。 Swift 在 Mac OS 和 iOS 平臺(tái)可以和 Object-C 使用相同的運(yùn)行環(huán)境。 2015年6月8日,蘋(píng)果于WWDC 2015上宣布,Swift將開(kāi)放源代碼,包括編譯器和標(biāo)準(zhǔn)庫(kù)。
Swift 是一種全新的編程語(yǔ)言,結(jié)合了 C 和 Objective-C 的優(yōu)點(diǎn),并且不受C兼容性的限制。Swift 采用的安全編程模式添加了很多新特性,這使得編程更簡(jiǎn)單,更靈活,也更有趣。Swift 在 Foundation 和 Cocoa的基礎(chǔ)上構(gòu)建框架,并且采用了很多 Objective-C 的命名參數(shù)以及動(dòng)態(tài)對(duì)象模型,并且支持過(guò)程式編程和面向?qū)ο缶幊?。Swift 將現(xiàn)代編程語(yǔ)言的精華和蘋(píng)果工程師文化的智慧結(jié)合了起來(lái),既能夠開(kāi)發(fā)簡(jiǎn)單的小程序,也能夠構(gòu)建出一套完整的操作系統(tǒng)。
在ios的OC和Swift混合開(kāi)發(fā)無(wú)非是2種,一種是在OC的項(xiàng)目中使用Swift語(yǔ)言開(kāi)發(fā),這里就需要?jiǎng)?chuàng)建Swift文件(或者引用Swift寫(xiě)的的第三方庫(kù)),另一種是在Swift項(xiàng)目中使用OC語(yǔ)言開(kāi)發(fā),這里就需要?jiǎng)?chuàng)建OC文件,(或者引用OC寫(xiě)的的第三方庫(kù))
首先我們?cè)谝粋€(gè)已有的OC的項(xiàng)目中,創(chuàng)建一個(gè)Swift文件
這里Xcode就會(huì)自動(dòng)提示我們?nèi)纾簣D1
Would you like to configure an Objective-C bridging header?
Adding this file to ocProjectUseSwift will create a mixed Swift and Objective-C target. Would you like Xcode to automatically configure a bridging header to enable classes to be accessed by both languages?
提示我們創(chuàng)建一個(gè)橋接的頭文件,當(dāng)我點(diǎn)擊 “ Create? Bridging Header”,Xcode就給我們自動(dòng)創(chuàng)建,自動(dòng)創(chuàng)建的規(guī)則是:項(xiàng)目名+ "-Bridging-Header.h" 如圖2
同時(shí)在項(xiàng)目中創(chuàng)建一個(gè)Swift文件
然后在在 targets - Build Settings - Packaging 中設(shè)置Defines Module 為YES
設(shè)置完后開(kāi)始使用,怎么在oc中使用Swift的類呢?
重點(diǎn): 在文件中引用 #import "ocProjectUseSwift-Swift.h"? 記住不是我創(chuàng)建的SecondVC.swift,是“項(xiàng)目名-Swift.h"文件名 ,引入這個(gè)文件就引入了所有的Swift文件內(nèi)的類、方法、屬性
說(shuō)明:這個(gè)文件是系統(tǒng)自動(dòng)創(chuàng)建,自動(dòng)添加所有我們創(chuàng)建的Swift的類的方法和屬性
前提是要在方法和屬性前面要加@objc 如圖3:
用@objc聲明好之后,在我們引用的是“項(xiàng)目名-Swift.h"文件名的?#import "ocProjectUseSwift-Swift.h" 內(nèi)就看到有標(biāo)記了如圖4
這里分了3塊,紅色和綠色標(biāo)記框內(nèi)是我們自己標(biāo)記的oc可用的屬性和方法,藍(lán)色框內(nèi)是系統(tǒng)自己生成的oc可以初始化方法
具體使用就在oc文件中,如圖5:
此事,在這個(gè)OC創(chuàng)建的項(xiàng)目中,我們創(chuàng)建的Swift文件怎么使用OC創(chuàng)建的類呢?
這里就用到我們創(chuàng)建的橋接頭文件了,在圖2中的橋接頭文件,引入OC的頭文件,如圖6
就這樣很簡(jiǎn)單,所以Swift文件的類都可以使用這個(gè)OC文件內(nèi)的類了,使用起,和OC調(diào)用OC的類一樣,如如圖7和圖8
Swift的項(xiàng)目中,第一次創(chuàng)建OC的文件,此時(shí)系統(tǒng)會(huì)自動(dòng)幫我們創(chuàng)建橋接頭文件,如圖9
然后就有了和圖2一樣的橋接頭文件,剩下的就和圖6一樣,在橋接頭文件內(nèi)引入頭文件,即可使用OC的類,第三方庫(kù)如果也是OC寫(xiě)的,在引入的時(shí)候也自動(dòng)會(huì)加這個(gè)橋接頭文件,當(dāng)然一個(gè)項(xiàng)目只能加一次,加過(guò)的就不需要加了
繼續(xù)上一篇 開(kāi)始用Swift開(kāi)發(fā)iOS 10 - 18 Search Bar 和 UISearchController ,這一篇使用 UIPageViewController 構(gòu)建介紹頁(yè)面,與使用 LaunchScreen.storyboard 的啟動(dòng)頁(yè)不同。
類似 UINavigationController , UIPageViewController 也是一種容器類型的控制器。這種容器類型的控制器是用來(lái)管理其它多個(gè)控制器的。
如果容器內(nèi)的控制器頁(yè)面元素類似(上圖就是這種情況),可以通過(guò)一個(gè)控制器重復(fù)利用。
setViewControllers 方法是設(shè)置 UIPageViewController 管理的視圖控制器。
頁(yè)面指示就是一般在頁(yè)面下用于分辨當(dāng)前是第一個(gè)頁(yè)面的幾個(gè)小點(diǎn)。
實(shí)現(xiàn) UIPageViewControllerDataSource 協(xié)議的兩個(gè)方法: presentationCount(for:) 表示總共有幾個(gè)小點(diǎn)(頁(yè)面)。
presentationIndex(for:) 表示當(dāng)前頁(yè)面的索引。
不用默認(rèn)的頁(yè)面指示,就要把上面兩個(gè)方法刪除,然后使用 UIPageControl 。
完成類似下面:
但因?yàn)橹笆抢?RestaurantTableViewController 的 viewDidAppear 方法顯示介紹頁(yè)的,而 viewDidAppear 方法是頁(yè)面顯示后就調(diào)用一下,這樣就出現(xiàn)不停進(jìn)入介紹頁(yè)。實(shí)際上只需要第一次打開(kāi)app的時(shí)顯示介紹頁(yè)就可以了。
UserDefaults 是用來(lái)管理應(yīng)用和用戶相關(guān)的設(shè)置的。也就是可以用 UserDefaults 存儲(chǔ)一些用戶相關(guān)的少量數(shù)據(jù),比如上面的是否看過(guò)介紹頁(yè),也就是是否點(diǎn)擊過(guò)DONE按鈕了。
UserDefaults 也是通過(guò)單例模式進(jìn)行操作的,通過(guò)類屬性 standard 獲取單例。
完成介紹頁(yè)。學(xué)習(xí)了 UIPageViewController 和 UserDefaults 。
Beginning-iOS-Programming-with-Swift
此文是學(xué)習(xí) appcode 網(wǎng)站出的一本書(shū) 《Beginning iOS 10 Programming with Swift》 的一篇記錄