前言面試
iOS開發語言有哪些?
OS開發語言主要包括什麼?
iOS開發語言具體怎麼學習?算法
今天重點介紹一下:編程
iOS開發語言主要包括:C語言基礎、Obiective-C編程、Swift、UIKit框架詳解這幾大塊,在這裏項目階段就不詳細的介紹了。swift
C語言基礎
C語言是開發語言的基礎,是最經常使用的一門程序設計語言,最經常使用於編寫計算機程序。設計模式
Obiective-C編程
Obiective-C是在C語言的基礎上,加入面向對象特性擴充而成的通用型高級編程語言。數據結構
Swift
是蘋果新開發的語言,目的就是取代OC,我也正在學習,最大感覺就是簡潔與效率高 UIKit框架詳解 UIKit框架是iPhone應用程序開發中最基本的框架,也是最經常使用到及最重要的框架。閉包
語言基本上都是差很少的,只是換了一種寫法,更甚至能夠說編程上思想都基本相同,只是換了一種表達方式。app
最基本的頭文件框架
最基本的提及
OC中的頭文件和實現文件
.h文件相似C++中的.h文件
.m文件相似.cpp文件
頭文件做用也都差很少,聲明一些函數方法,屬性或變量,做用都是提供接口
Swift不同,沒有頭文件!!直接用即可。
全部實現文件後綴都是.swift C++導入頭文件是用#include OC導入頭文件能夠用#include和 #import,可是通常咱們都用#import,例如 #import 「ViewController.h"
由於#import導入同一個頭文件屢次也只會導入一次(已經導入會被忽略),防止重複導入
OC還有一種用法是@class 類名,這樣告訴編譯器這是一個類,不要管他的內部細節,這樣提升了效率,防止了頭文件的循環引用,固然你不能訪問這個類的內部細節
Swift也須要導入一些框架,直接import就行,不用#,例如 import Foundation
基本的數據類型
接下來咱們來看一下基本的數據類型,我就說一些比較經常使用的吧,C++的我就不說了。 OC中的數據類型
OC中不少數據類型都有NS前綴,那算由於OC是喬布斯第一次離開蘋果後建立的公司NextStep所開發的,因此就有NS
數據類型我只是用一些簡單直白的建立方式,其實還有不少種建立方式
我只介紹了一些比較經常使用的類型,固然還有不少相似C++的地方:
例如NSInteger,無符號的寫法是 NSUInteger
NSString,NSArray,NSDictionary是不可變類型,可變類型要加Mutable,例如NSMutableString,NSMutableArray..
還有一些其餘的類型例如NSNumber數字類型,能夠包裝int,float,double等等
做爲一個開發者,有一個學習的氛圍跟一個交流圈子特別重要,這是一個個人iOS交流羣:519832104 無論你是小白仍是大牛歡迎入駐,分享經驗,討論技術,你們一塊兒交流學習成長!
另附上一份各好友收集的大廠面試題,須要iOS開發學習資料、面試真題,能夠添加iOS開發進階交流羣,進羣可自行下載!
接下來看下Swift
Swift的數據類型也差很少,無非就是Int,Float,Double,String這些,可是用起來,一個爽字還形容不了。
由於Swift有類型推導,而且很是屌!!
例如 var str = @「hello world」
編譯器便會自動推斷str爲String類型
Swift中聲明類型通常用let,和var,let表示定義常量,var定義變量
var a = 1 把a推導爲Int 固然你也能夠寫上類型 var a: Int = 1
在Swift中能夠省略分號,寫和不寫都行,但定義兩個變量放在同一行就要,分隔開嘛
固然Swift對比OC也多了不少東西,例如元組tuple,閉包Closure等,不少用起來很簡潔的東西
hello world
接下來就從最簡單的開始—hello world
C++
OC
Swift
Swift就是這麼簡潔,能夠直接運行
OC的不少語法也接近C++
至少不少方法都寫的很長,可是看起來也很清晰,我這裏也不說了
因爲我最近在學Swift,接下來介紹一下Swift的一些簡單語句,到底有多簡潔
for語句
0 . . < 4 就是 0 ≤ i < 4
0. . . 4 也能夠表示 0 ≤ i ≤ 4
閉包
全部的算法最後簡化成一個> 這個>
能夠算是一個閉包的超簡潔版,它原本是這樣的
對,那一串,最後變成了 一個 >
這些只是冰山一角,股市一票而已
Swift學起來的給個人感受就是簡潔,新鮮,爽快!
如何快速學習ios入門語言?
做者列舉了入門級IOS開發者須要掌握的知識清單,幫助你從零開始學習IOS開發。
一、基本的 CS 知識
對數據結構和算法有必定基本的瞭解,確定會防止開發新手們寫代碼寫的亂七八糟。因此對新手來講,達內IOS培訓專家推薦去看Youtube上的哈佛CS50課程,做爲入門的開始,這些課程淺顯易懂,還十分有意思。
二、Swift 仍是 Objective-C
你無需到達可以寫這兩種語言的技術性博客的水平,或者是到可以教課的程度,可是你仍是至少得能用這兩種中其一來編程,不用過於頻繁的查看語法。API是另一碼事兒,尤爲是在 iOS 中,框架每一年更新,不少方法也常常被棄用。你要達到獨自寫類、結構體、循環、函數(類和實例)、分配變量、表達式求值的水平。
Swift 仍是很新,除非你進的公司裏有頻繁的項目更替,不然你就得基本上用 Objective-C。很多公司正決定轉向 Swift,若是你就會 Swift 的話,找一個工做也不會特別難。重要的是要對你所選擇的那個語言足夠熟練,而後至少對另一個也要熟悉到能讀懂代碼的程度。
三、框架和 API
達內IOS培訓專家不認爲你必須能對全部的 iOS API 滾瓜爛熟,可是你須要清晰的知道到哪裏找起。
UIKit (UITableView, UIButton, UINavigationController,GestureRecognizers)
Interface Builder (Storyboards, Segues, and the odd .xib)
Foundation 類型 (NSArray, NSDictionary, NSString) 以及它們的 Swift 對應(Array, Dictionary 和 String)HTTP API (NSURLSession, 基本的 REST API 概念,用 NSJSONSerializatio n 作 JSON 解析)
Grand Central Dispatch (GCD, NSOperationQueue)
數據持久化 (NSCoding, NSUserDefaults, CoreData)
內存管理 (什麼是循環引用,以及 ARC 的基本原理)
四、開發中的設計模式
模式很重要,它讓你的開發變得容易、代碼變得清晰。要確保你瞭解基本的設計模式,這些模式在 iOS 的框架中被普遍使用,你在不知道它們的狀況下不大可能作出來不少東西。
代理模式
模型-視圖-控制器模式
繼承
單例模式
五、熟悉開發環境
若是你尚未一臺 Mac 的話,弄一臺!若是你沒有任何一個 iOS 設備,弄一個!若是你沒有使用過或者不熟悉設備的話,爲它作開發會很難。一樣,若是你沒 Mac 寫代碼的話也很難。
六、UX/UI
一般來講 UX(用戶體驗)和 UI(交互界面)是由設計師負責的,可是你也應該瞭解 Apple 的人機交互指南。你應該要了解產品原型和線框圖的區別,以及在開發的過程當中如何使用它們。
七、工具
你應該熟悉一些常見的開發工具。
Xcode
Git 版本控制
JIRA 或者 Bugzilla
CocoaPods
八、做品
事實勝於雄辯。若是你想在面試中表現優異的話,能夠把一些簡單 app 合在一塊兒(或者更好的是把它們發佈在 AppStore 上)。展現出你可以獨立完成一個項目的能力。
總結
我是想經過簡單的介紹一下OC和Swift讓你們瞭解一下這兩種語言,iOS開發就是創建在這兩種語言的基礎上,不管是OC仍是Swift還有不少有趣的語法等着咱們去發現。