淺談iOS一些程式碼上符號所代表的涵義_後面?和!到底在幹嘛傻傻分不清_常遇到的錯誤_添加文字、按鈕




一開始我們都先鎖定在  iOS上進行開發

這次要介紹的是別於拖拉物件方式
用程式碼產生介面元件並做相關修改


====================================================================

首先一般我們在新增好一份 iOS專案的時候

常會遇到初學者一看到密密麻麻的程式就偏頭痛的情況發生

Swift 雖然別於 Object-C 變得更加簡易

但是若沒有相關開發的基礎  或是  背景 就會十分難過

尤其是習慣寫 其他語言的同好

在寫目前這代最新版本的Swift的時候

初心者時常會遇到

ㄟ ~!!!!  我測試要Run的這篇Code  or  這項 project

怎麼無法運行

或是 一堆滿江紅 !!!

真是頭疼阿  原因在於

我們要追朔到 iOS  Swift 這個語言的歷史釋出版本

2014  Swift  最早一版  1.0發行
2015  2月    Swift 1.2
2015  6月    Swift 2.0
2016  12月  Swift 3.0
Swift 3.0源碼不兼容於 Swift 2.2 和 2.3
原文網址:https://kknews.cc/zh-tw/tech/xlnglr.html

2017  1月    Swift 3.1
http://3c.ltn.com.tw/news/27768


因此網路上很多古人的程式專案
在現今本版運行會出錯語法都有諸多差異


我要如何改版
(難不成我要先回去學古時候的版本嗎?????)

其實到不必  因為十分沒效率
通常我們可以Focus在該句語法上
一句一句貼上運行查看 顯示的錯誤並查詢在某一年代
當時這一句語法功能為何??

之後我們再將其說明貼至官網或論壇
近一步查詢相關人提供的語句、語法
善加利用顯示的錯誤資訊即可

當然若是新手通常建議不要走這個路
因為會遇到數不清的麻煩而且每個人寫法和行為操作都不同
這也是很麻煩的一個點



首先當你新增好一個 Single View iOS專案之後


左側的 AppDelegate.swift


打開你會看到密密麻麻的程式碼

感覺都看不懂

通常 AppDelegate這一篇幅的程式區塊

裏頭定義了像是
「應用程式執行啟動」、「往返前後台」、「閒置退出」等等方法。

那當中有很多  func 就是代表一個方法用一組大括號包覆

第一句

var window: UIWindow?

這個可以當作一個變數宣告

你可以設想一個情境
我告訴你有一家好吃的料理店是賣麵的或賣排餐的或賣飲料的.......

但是我並未告訴你太多其內部資訊
他位置在哪???  價位是多少???  賣的料理(飲料)種類???
我都還沒告訴你


因此在載入後我們要將視窗(UIWindow)這個主體
將其進行詳述
CGRect 就代表手機屏幕上的位置(共需要四個值x,y,weight,height)
這裡直接讓他等於手機屏幕大小(手機邊界)



之後讓這個Window可被顯示看見



緊接著我們移動至

Swift當中的 ViewController.swift



這都是自動生成的程式碼

這裡就是  視圖控制器  最原始最基礎的骨幹架構

iOS 的App應用程式   是在此File當中的 viewDidLoad() Method 開始運行的

而且大多數程式碼你所要添加的都寫在這


視圖控制器  可想為一本書的一個頁面

每個App應用都可看作是一本書
可以不只一個頁面, 跟網站有點像的概念。


我們再來要讓 Window  去讀此 View


對於 Window而言  這個View只是一個小頁面並不大

Window 頭銜很大 它具有rootViewController的頭銜

所有其他凡是 ViewController 階層的都歸他管

就是這個概念

在軍中當兵頭銜

軍中分成  軍官> 士官> 士兵

所以Window 就相當於 軍官  他可以管下方的 士官viewController


緊接著  按住 鍵盤的Command 點 viewController()




程式幫我們所建立的第一個畫面
我們是否有真的來到這裡了呢????


這時我們可改變背景顏色





在Xcode中有提供  Color Literial
顏色顯示出來可給你選擇的功能

(懂一些細節有助於你對於iOS開發確實有經驗的輔助證明)



這裡我指定了青藍色

然後我們執行看結果


緊接著我們要來添加  照片圖檔

(懂一些細節有助於你對於iOS開發確實有經驗的輔助證明)

尾部的  問號 ?
代表此 UIImageView可能存在  也 可能不存在
var 就變數 之後內容可在程式中做任意調整


指定圖名




在 override func viewDidLoad() {....}區塊中
添加  另外兩行  程式碼


let 常數  固定不可改其內容
self 自己畫面中的 customView 剛剛產生出來的暫存視圖
我們指定值給它

這兩行功能統稱為 我們要指定哪一張圖
用 UIImageView(named: ) 代入圖檔名字

再來就是我們要放置在何處??

這時你一進行編譯就發現出現Error了  = =|||



這時我們就需要於尾部加  驚嘆號 確定其是存在的




背景顏色就成功變成小狗狗了!!!



如何添加文字???

這時   UILabel 就派上用場了

依樣畫葫蘆

先設定特定屬性
再用 addSubView 壓上去












留言

這個網誌中的熱門文章

何謂淨重(Net Weight)、皮重(Tare Weight)與毛重(Gross Weight)

Architecture(架構) 和 Framework(框架) 有何不同?_軟體設計前的事前規劃的藍圖概念

經得起原始碼資安弱點掃描的程式設計習慣培養(五)_Missing HSTS Header