1. 程式人生 > >IOS 初級開發入門教程(一)介紹篇

IOS 初級開發入門教程(一)介紹篇

導讀

       目前移動端開發市場上引導開發者追求技多不壓身,一個全棧開發者至少要懂後臺伺服器、資料庫、Android、web、ios開發等。“一超多強”是指開發者先成為一門技術的專家然後掌握瞭解多門技術,這是一種好的發展趨勢,另外,這種技多不壓身我認為當開發者更適合發展成為Leader管理崗位,隨著年齡慢慢變大,成家立業後,基層單一碼農已晉升之路受到阻礙了,作為專案經理或總監的時候,需要你能夠“多才多藝”,才能管理好帶領好你的團隊。這一篇將掀起 IOS 開發之路,點關注不迷路。

什麼是iOS

iOS是蘋果公司為它的移動裝置(iPhone、iPad、iWatch等)開發的移動作業系統

iOS發展史

  • 2007年蘋果釋出iPhone Runs OS X
  • 2008年更名iPhone OS
  • 2010年更名iOS
  • 2012年WWCD 2012上釋出iOS 6
  • 2013年WWCD 2013上釋出iOS 7
  • 2014年WWCD 2014上釋出iOS 8和Swift
  • 2015年WWCD 2015上釋出iOS 9和Watch OS

IOS開發語言

ios目前流行兩種開發語言:Objective-C 和 Swift 。前者有C語言基礎者上手會容易些;後者Swift是iOS/Mac未來開發的主要語言,無論從程式設計思想還是從api書寫,都賞心悅目,但缺點是沒有Objective更穩定,且事實上去面試一些公司都要求的是用 Objective-C,只是把 Swift 作為學習語言。

蘋果裝置螢幕尺寸

裝置 螢幕尺寸 解析度 座標點
iPhone 3和3s 3.5英寸 320*480 320*480
iPhone 4和4s(支援Retina) 3.5英寸 640*960 320*480
iPhone 5和5s(支援Retina) 4英寸 640*1136 320*568
iPhone 6 4.7英寸 750*1334 375*667
iPhone 6 Plus 5.5英寸 1080*1920 414*736
iPad 1和2(不支援Retina) 9.7 768*1024 768*1024
iPad 3和4(支援Retina) 9.7 1536*2048 768*1024
iPad Air 9.7 1536*2048 768*1024
iPad Mini(不支援Retina) 7.9 768*1024 768*1024
iPad Mini2(支援Retina) 7.9 1536*2048 768*1024

系統基礎框架

 1、ios系統架構可以分為如圖所示的四層,Cocoa Touch框架的地位不言而喻。

這裡寫圖片描述
  • Core OS和Core Service提供了底層支援,包括檔案訪問、網路協議、低階資料型別等。
  • Media提供了基本繪圖和音視訊的支援,包括OpenGL、Quartz、Core Audio和Core Animation等。
  • Cocoa Touch包括了開發使用的大部分API,主要由Foundation(檔案訪問、網路操作、資料和容器型別)和UIKit(UI控制元件、控制器等)兩個部分構成。在進行App開發時,應該由上到下使用這些技術層次,越上層的API封裝得越好,開發越方便,但能自己發揮的東西越少。

2、對比,android系統架構:

Android其本質就是在標準的Linux系統上增加了Java虛擬機器Dalvik,並在Dalvik虛擬機器上搭建了一個JAVA的application framework,所有的應用程式都是基於JAVA的application framework之上。
也分為四個層,從高層到低層分別是應用程式層、應用程式框架層、系統執行庫層和linux核心層。

UIKit繼承結構


  實現App開發中的使用者介面首先要從UIResponder及其子類開始研究,當然整個過程會覆蓋整個UIKit框架,比如UIColor(顏色)、UIEvent(事件)、UIFont(字型)、UIGestureRecognizer(手勢識別)、UIImage(影象)、UIScreen(螢幕)等諸多內容。

UIView和UIWindow

1、UIWindow和UIView的繼承關係

  UIWindow是UIView的子類。UIView定義了一個矩形區域以及操作這個矩形區域中內容的程式設計介面,除此之外UIView還要處理執行時區域中內容的互動行為(繪圖、動畫和事件處理)。從上面的圖中我們也可以看出,我們要使用的控制元件都是UIView的子型別。檢視會按層次結構排列,位於檢視層次結構頂端的就是應用窗體。任何應用都有且僅有一個UIWindow物件,UIWindow物件就像一個容器,負責包含應用中的所有檢視。應用需要在啟動時建立並設定UIWindow物件,然後為其新增其他的檢視,就像上面的程式碼呈現的那樣。加入視窗的檢視會成為該視窗的子檢視。子檢視也可以有自己的子檢視從而構成一個以UIWindow作為根的檢視層次結構(樹形結構)。

這裡寫圖片描述

2、UIView的基本屬性和方法

  • frame屬性:設定檢視的座標和尺寸
  • backgroundColor屬性:設定檢視的背景色
  • window屬性:檢視所在的視窗物件
  • -addSubview方法:新增子檢視

Xcode建立iOS專案

  啟動Xcode在歡迎頁中選擇"Create a new Xcode project"。在專案建立嚮導中選擇iOS->Application->Single View Application然後點選下一步。接下來需要設定專案名稱、組織名稱、組織標識、開發語言(OC或Swift)和裝置(iPhone、iPad或Universal)。下一步之後選擇專案的位置就可以點選"Create"完成專案建立了。參考我的下一個博文:IOS新手入門第一個HelloWorld專案

熟悉開發工具Xcode

這裡寫圖片描述

IDE佈局說明:

Xcode的上方是工具欄,有很多工具按鈕。Xcode的左側是導航區域,包括:專案導航、符號導航、查詢導航、問題導航、測試導航、除錯導航、斷點導航、報告導航,可以使用Command+1-8的數字鍵在8種導航之間切換。Xcode的中間是編輯器區域;中間的下面是除錯區域。Xcode的右側上方是檢查器(審查)區域;右側下方是各種庫的區域。

Xcode常用功能和快捷鍵 (*實用)

Command+[ -> 程式碼塊左移
Comamnd+] -> 程式碼塊右移
Tab -> 接受程式碼自動完成提示
Esc -> 顯示程式碼提示
Command+B -> 編譯
Command+R -> 執行
Control+F -> 前移游標
Control+B -> 後移游標
Control+P -> 游標移到上一行
Control+N -> 游標移到下一行
Control+A -> 游標移到行首
Control+E -> 游標移到行尾
Control+T -> 交換游標左右字元
Control+D -> 刪除游標右邊的字元
Control+K -> 刪除本行
Control+L -> 將游標所在位置置於視窗中央
按住Option雙擊滑鼠 -> 搜尋文件
Command+Y -> 啟用/禁用斷電
Command+Control+Y -> 繼續執行
F6 -> 單步跳過
F7 -> 單步跳入
F8 -> 跳出

AppDelegate與ViewController的作用與區別:

AppDelegate是你整個應用的一個代理。當你應用啟動的時候,最先被呼叫到的就是你AppDelegate中的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法。你可以在這個方法中做些全域性初始化。

一般設計準則是儘量保持AppDelegate乾淨、簡潔。

AppDelegate中可以做應用退出後臺或從後臺返回到前臺的一些處理。

ViewController一般作為根檢視控制器,把顯示相關的都放到這裡面去做。

虛擬機器HOME鍵:

由於Xcode自帶的虛擬機器不像真機那樣有一個可以用手指按的Home鍵回到主介面的實體按鈕,所以需要用到快捷鍵: command + shift + h    (回到主介面) command + shift + hh  (可滑動清理應用)

本章部分參考他人部落格:http://blog.csdn.net/jackfrued/article/details/46747903

相關推薦

IOS 初級開發入門教程介紹

導讀        目前移動端開發市場上引導開發者追求技多不壓身,一個全棧開發者至少要懂後臺伺服器、資料庫、Android、web、ios開發等。“一超多強”是指開發者先成為一門技術的專家然後掌握瞭解多門技術,這是一種好的發展趨勢,另外,這種技多不壓身我認為當開發者更適合發

IOS 初級開發入門教程第一個HelloWorld工程及StoryBoard使用

前言 在IOS開發之路的博文第一章:(IOS開發入門介紹http://blog.csdn.net/csdn_aiyang)我大致系統介紹了有關IOS的一些基礎認識,如果不完全都記住沒關係,以後我們開發之路還很長,慢慢的自然而然就明白是怎麼回事了。這一篇我將手把手教大家完成第

IOS 初級開發入門教程TextField與ReturnKey實戰練習

前言看完前面4章的內容,基本對IOS開發有一些認識了,這章我們繼續動手去實踐一下,學習文字和鍵盤的相關知識,以及通過一個互動式的案例演示文字與鍵盤的使用。系列文章:UIKit繼承結構我們通過這個UIKit繼承結構圖,我們試著找到本章要學習的TextFiled與TextView

IOS 初級開發入門教程基礎控制元件使用小練習

前言看完前面3章的內容,基本對IOS開發有一些認識了,這章我們開始動手去實踐做點小練習,學習如何建立並設定標籤和按鈕(Label & Button)的相關屬性,以及通過一個互動式的案例演示動作和輸出口的使用。系列文章:建立Swift新專案使用Label和Button1

IOS 初級開發入門教程探究應用及檢視的生命週期變化

導讀 作業系統都會根據應用的生命週期狀態來管理和處理邏輯,這一點在Android開發上現的就已經非常好了,耳熟能詳的就是應用狀態影響記憶體回收級別和活動的生命週期。同樣,在IOS上也會充分利用應用的檢視的生命週期來進行管理應用。首先,我們先知道IOS應用在程式中的五種狀

使用HAL庫、STM32CubeMX和Keil 5開發入門教程:點亮盞LED燈NUCLEO-F411RE

本教程以點亮一盞LED燈為目的為大家演示用STM32CubeMX、Keil、ST-Link開發STM32程式的一般方法。 一、學習前的準備工作 硬體:一塊STM32開發板,一個ST-Link;(我使用的開發板是NUCLEO-F411RE) 軟體:裝好ST-

Docker入門教程介紹

操作 AC font start 一個 namespace com 下載地址 div 1.1docker是什麽: Docker是通過內核虛擬化技術(namespaces及cgroups cpu、內存、磁盤io等)來提供容器的資源隔離與安全保障等。由於Docker通過操作系統

大資料學習初級入門教程 —— Hadoop 2.x 的安裝、啟動和測試

大資料最基礎的就是資料的儲存和計算,而 Hadoop 就是為儲存和計算而生,是最基礎的大資料處理工具。這篇簡單寫寫 Hadoop 2.x 的安裝,啟動和測試。 一、準備環境 大資料環境的部署,一般都是叢集,機器數量為奇數,這裡以 5 臺機器為例,作業系統為 CentOS 6.9_x64;

Vue.js 2.0 入門教程 搭建開發環境

最近,前段開發框架層出不窮,響應式和模組化開發框架一下變得炙手可熱起來。在這樣的大浪潮下,我也開始進入vue的學習行列中。 這裡有觀眾會問,為什麼選擇vue呢?  小編作為一個剛入門前端的小白,vue 相比於angular2 ,react,入門簡單容易上手,簡單也是效

JavaScript基礎入門教程

構造 圖片 def type 屬於 string 意思 原則 原始類型 js的數據類型   雖然js屬於弱類型語言,但其總共有6種數據類型。弱類型的意思是定義的變量沒有類型的區分,比如先執行 var num=123; 定義了一變量num存儲整數,可接下來執行 num="he

Asp.net Core IdentityServer4 入門教程:概念解析

什麽 ica 統一 理解 給他 分享 目錄 .net 系統 目錄 1、IdentityServer4 是什麽 2、什麽是OpenID和OAuth 2.0協議 3、IdentityServer4 可以用來做什麽 其他 1、IdentityServer4 是什麽 Ident

CMake入門教程

之前的一篇部落格介紹了CMake一些簡單的基礎情況:CMake的簡介、安裝以及基本的使用 現在一起來學習一下CMakeLists的基礎命令。 ※※※※※※※※※※※※※※※※※※※※※※CMake的基本使用語法※※※※※※※※※※※※※※※※※※※※※※※※※※※ ①CMake使用$

Koa快速入門教程

Koa 是由 Express 原班人馬打造的,致力於成為一個更小、更富有表現力、更健壯的 Web 框架,採用了async和await的方式執行非同步操作。 Koa有v1.0與v2.0兩個版本,隨著node對async和await的支援,Koa2的正式釋出,本文Koa均

React入門教程

一、HTML 模板 使用 React 的網頁原始碼,結構大致如下。 <!DOCTYPE html> <html> <head> <script src="../build/react.js"></script>

Scrapy入門教程

既然你點進來看了,我就預設你知道什麼是爬蟲了。不知道也沒有關係,來看一下爬蟲的定義:網路爬蟲,是一種按照一定的規則,自動地抓取全球資訊網資訊的程式或者指令碼。可以寫爬蟲的語言、框架有很多,這裡記錄一下Scrapy的入門教程。 一、為什麼要選擇Scrapy? Scrapy有名氣,只要你做過爬蟲就基本上

Spring框架入門教程——框架簡介

介紹 Spring是一個分層的(一站式) 輕量級開源框架 Spring的核心是控制反轉(IoC)和麵向切面(AOP) 為什麼說分層一站式呢? javaEE分三層開發 WEB層,業務層,持久層。在ssh整合框架中s == Struts2, s == spring,h

scrapy入門教程虛擬環境的搭建

1、安裝virtualenvwrapper-win 包。使用命令pip install virtualenvwrapper-win 2、輸入workon命令檢視是否可用。此時找不到檔案是正常的,因為我們還沒有開始建立虛擬環境。 3、開始建立虛擬環境。使用命令

OpenMP入門教程

什麼是OpenMP Open Multi-Processing的縮寫,是一個應用程式介面(API),可用於顯式指導多執行緒、共享記憶體的並行性。 在專案程式已經完成好的情況下不需要大幅度的修改原始碼,只需要加上專用的pragma來指明自己的意圖,由此編譯器可以自動將程式進行並行化,並在必要之處加入同步互斥

iOS 應用開發覆盤

從iOS開發轉到Java Web開發有幾年了,最近覆盤一下iOS開發,找一個專案練練手,順便和大家一起分享一下iOS開發的實際操作。對想要做iOS開發的人相信會有一定的幫助。 一、開發環境 iOS開發的話肯定要有蘋果的電腦(黑蘋果有一堆問題,不是很推薦),經濟條件允許的話

OpenCV3入門教程基礎知識

------韋訪 20181011 1、概述 想學習影象處理,不管是機器學習也好,深度學習也好,不會點OpenCV好像有點說不過去吧?所以,現在開始OpenCV的學習。 2、讀寫圖片 先從圖片的讀寫開始,opencv讀取圖片的函式是imread,預設情況下,imrea