一篇文章看懂有關(guān)iOS開(kāi)發(fā)語(yǔ)言的一切!
前言
iOS開(kāi)發(fā)語(yǔ)言有哪些?OS開(kāi)發(fā)語(yǔ)言主要包括什么?iOS開(kāi)發(fā)語(yǔ)言具體怎么學(xué)習(xí)?今天重點(diǎn)介紹一下:
iOS開(kāi)發(fā)語(yǔ)言主要包括:C語(yǔ)言基礎(chǔ)、Obiective-C編程、Swift、UIKit框架詳解這幾大塊,在這里項(xiàng)目階段就不詳細(xì)的介紹了。
C語(yǔ)言基礎(chǔ) C語(yǔ)言是開(kāi)發(fā)語(yǔ)言的基礎(chǔ),是最常用的一門(mén)程序設(shè)計(jì)語(yǔ)言,最常用于編寫(xiě)計(jì)算機(jī)程序。
Obiective-C編程 Obiective-C是在C語(yǔ)言的基礎(chǔ)上,加入面向?qū)ο筇匦詳U(kuò)充而成的通用型高級(jí)編程語(yǔ)言。
Swift是蘋(píng)果新開(kāi)發(fā)的語(yǔ)言,目的就是取代OC,我也正在學(xué)習(xí),最大感受就是簡(jiǎn)潔與效率高 UIKit框架詳解 UIKit框架是iPhone應(yīng)用程序開(kāi)發(fā)中最基本的框架,也是最常用到及最重要的框架。
語(yǔ)言基本上都是差不多的,只是換了一種寫(xiě)法,更甚至可以說(shuō)編程上思想都基本相同,只是換了一種表達(dá)方式。
最基本的頭文件
最基本的說(shuō)起
OC中的頭文件和實(shí)現(xiàn)文件
- .h文件類(lèi)似C++中的.h文件
- .m文件類(lèi)似.cpp文件
頭文件作用也都差不多,聲明一些函數(shù)方法,屬性或變量,作用都是提供接口
Swift不一樣,沒(méi)有頭文件!!直接用便可。
所有實(shí)現(xiàn)文件后綴都是.swift C++導(dǎo)入頭文件是用#include OC導(dǎo)入頭文件可以用#include和 #import,但是一般我們都用#import,例如 #import “ViewController.h"
因?yàn)?import導(dǎo)入同一個(gè)頭文件多次也只會(huì)導(dǎo)入一次(已經(jīng)導(dǎo)入會(huì)被忽略),防止重復(fù)導(dǎo)入
OC還有一種用法是@class 類(lèi)名,這樣告訴編譯器這是一個(gè)類(lèi),不要管他的內(nèi)部細(xì)節(jié),這樣提高了效率,防止了頭文件的循環(huán)引用,當(dāng)然你不能訪問(wèn)這個(gè)類(lèi)的內(nèi)部細(xì)節(jié)
Swift也需要導(dǎo)入一些框架,直接import就行,不用#,例如 import Foundation
基本的數(shù)據(jù)類(lèi)型
接下來(lái)我們來(lái)看一下基本的數(shù)據(jù)類(lèi)型,我就說(shuō)一些比較常用的吧,C++的我就不說(shuō)了。 OC中的數(shù)據(jù)類(lèi)型
OC中很多數(shù)據(jù)類(lèi)型都有NS前綴,那算因?yàn)镺C是喬布斯第一次離開(kāi)蘋(píng)果后創(chuàng)建的公司NextStep所開(kāi)發(fā)的,所以就有NS
數(shù)據(jù)類(lèi)型我只是用一些簡(jiǎn)單直白的創(chuàng)建方式,其實(shí)還有很多種創(chuàng)建方式

我只介紹了一些比較常用的類(lèi)型,當(dāng)然還有很多類(lèi)似C++的地方:
例如NSInteger,無(wú)符號(hào)的寫(xiě)法是 NSUInteger
NSString,NSArray,NSDictionary是不可變類(lèi)型,可變類(lèi)型要加Mutable,例如NSMutableString,NSMutableArray..
還有一些其他的類(lèi)型例如NSNumber數(shù)字類(lèi)型,可以包裝int,float,double等等
接下來(lái)看下Swift
Swift的數(shù)據(jù)類(lèi)型也差不多,無(wú)非就是Int,Float,Double,String這些,但是用起來(lái),一個(gè)爽字還形容不了。
因?yàn)镾wift有類(lèi)型推導(dǎo),并且非常屌!!
例如 var str = @“hello world”
編譯器便會(huì)自動(dòng)推斷str為String類(lèi)型
Swift中聲明類(lèi)型一般用let,和var,let表示定義常量,var定義變量
var a = 1 把a(bǔ)推導(dǎo)為Int 當(dāng)然你也可以寫(xiě)上類(lèi)型 var a: Int = 1
在Swift中可以省略分號(hào),寫(xiě)和不寫(xiě)都行,但定義兩個(gè)變量放在同一行就要,分隔開(kāi)嘛
當(dāng)然Swift對(duì)比OC也多了很多東西,例如元組tuple,閉包Closure等,很多用起來(lái)很簡(jiǎn)潔的東西
hello world
接下來(lái)就從最簡(jiǎn)單的開(kāi)始—hello world
- C++
- OC
- Swift
Swift就是這么簡(jiǎn)潔,可以直接運(yùn)行
OC的很多語(yǔ)法也接近C++
至少很多方法都寫(xiě)的很長(zhǎng),但是看起來(lái)也很清晰,我這里也不說(shuō)了
由于我最近在學(xué)Swift,接下來(lái)介紹一下Swift的一些簡(jiǎn)單語(yǔ)句,到底有多簡(jiǎn)潔
for語(yǔ)句
0 . . < 4 就是 0 ≤ i < 4
0. . . 4 也可以表示 0 ≤ i ≤ 4
閉包
所有的算法最后簡(jiǎn)化成一個(gè)> 這個(gè)>
可以算是一個(gè)閉包的超簡(jiǎn)潔版,它本來(lái)是這樣的
對(duì),那一串,最后變成了 一個(gè) >
這些只是冰山一角,股市一票而已
Swift學(xué)起來(lái)的給我的感覺(jué)就是簡(jiǎn)潔,新鮮,爽快!
如何快速學(xué)習(xí)ios入門(mén)語(yǔ)言?
作者列舉了入門(mén)級(jí)IOS開(kāi)發(fā)者需要掌握的知識(shí)清單,幫助你從零開(kāi)始學(xué)習(xí)IOS開(kāi)發(fā)。
1、基本的 CS 知識(shí)
對(duì)數(shù)據(jù)結(jié)構(gòu)和算法有一定基本的了解,肯定會(huì)防止開(kāi)發(fā)新手們寫(xiě)代碼寫(xiě)的亂七八糟。所以對(duì)新手來(lái)說(shuō),達(dá)內(nèi)IOS培訓(xùn)專(zhuān)家推薦去看Youtube上的哈佛CS50課程,作為入門(mén)的開(kāi)始,這些課程淺顯易懂,還十分有意思。
2、Swift 還是 Objective-C
你無(wú)需到達(dá)能夠?qū)戇@兩種語(yǔ)言的技術(shù)性博客的水平,或者是到能夠教課的程度,但是你還是至少得能用這兩種中其一來(lái)編程,不用過(guò)于頻繁的查看語(yǔ)法。API是另外一碼事兒,尤其是在 iOS 中,框架每年更新,很多方法也經(jīng)常被棄用。你要達(dá)到獨(dú)自寫(xiě)類(lèi)、結(jié)構(gòu)體、循環(huán)、函數(shù)(類(lèi)和實(shí)例)、分配變量、表達(dá)式求值的水平。
Swift 還是很新,除非你進(jìn)的公司里有頻繁的項(xiàng)目更替,否則你就得基本上用 Objective-C。不少公司正決定轉(zhuǎn)向 Swift,如果你就會(huì) Swift 的話(huà),找一個(gè)工作也不會(huì)特別難。重要的是要對(duì)你所選擇的那個(gè)語(yǔ)言足夠熟練,然后至少對(duì)另外一個(gè)也要熟悉到能讀懂代碼的程度。
3、框架和 API
達(dá)內(nèi)IOS培訓(xùn)專(zhuān)家不認(rèn)為你必須能對(duì)所有的 iOS API 倒背如流,但是你需要清晰的知道到哪里找起。
- UIKit (UITableView, UIButton, UINavigationController,GestureRecognizers)
- Interface Builder (Storyboards, Segues, and the odd .xib)
- Foundation 類(lèi)型 (NSArray, NSDictionary, NSString) 以及它們的 Swift 對(duì)應(yīng)(Array, Dictionary 和 String)HTTP API (NSURLSession, 基本的 REST API 概念,用 NSJSONSerializatio n 做 JSON 解析)
- Grand Central Dispatch (GCD, NSOperationQueue)
- 數(shù)據(jù)持久化 (NSCoding, NSUserDefaults, CoreData)
- 內(nèi)存管理 (什么是循環(huán)引用,以及 ARC 的基本原理)
4、開(kāi)發(fā)中的設(shè)計(jì)模式
模式很重要,它讓你的開(kāi)發(fā)變得容易、代碼變得清晰。要確保你了解基本的設(shè)計(jì)模式,這些模式在 iOS 的框架中被廣泛使用,你在不知道它們的情況下不大可能做出來(lái)很多東西。
- 代理模式
- 模型-視圖-控制器模式
- 繼承
- 單例模式
5、熟悉開(kāi)發(fā)環(huán)境
如果你還沒(méi)有一臺(tái) Mac 的話(huà),弄一臺(tái)!如果你沒(méi)有任何一個(gè) iOS 設(shè)備,弄一個(gè)!如果你沒(méi)有使用過(guò)或者不熟悉設(shè)備的話(huà),為它做開(kāi)發(fā)會(huì)很難。同樣,如果你沒(méi) Mac 寫(xiě)代碼的話(huà)也很難。
6、UX/UI
通常來(lái)說(shuō) UX(用戶(hù)體驗(yàn))和 UI(交互界面)是由設(shè)計(jì)師負(fù)責(zé)的,但是你也應(yīng)該了解 Apple 的人機(jī)交互指南。你應(yīng)該要了解產(chǎn)品原型和線框圖的區(qū)別,以及在開(kāi)發(fā)的過(guò)程中如何使用它們。
7、工具
你應(yīng)該熟悉一些常見(jiàn)的開(kāi)發(fā)工具。
- Xcode
- Git 版本控制
- JIRA 或者 Bugzilla
- CocoaPods
8、作品
事實(shí)勝于雄辯。如果你想在面試中表現(xiàn)優(yōu)異的話(huà),可以把一些簡(jiǎn)單 app 合在一起(或者更好的是把它們發(fā)布在 AppStore 上)。展示出你能夠獨(dú)立完成一個(gè)項(xiàng)目的能力。
總結(jié)
我是想通過(guò)簡(jiǎn)單的介紹一下OC和Swift讓大家了解一下這兩種語(yǔ)言,iOS開(kāi)發(fā)就是建立在這兩種語(yǔ)言的基礎(chǔ)上,無(wú)論是OC還是Swift還有很多有趣的語(yǔ)法等著我們?nèi)グl(fā)現(xiàn)。