Github link

首先在開始寫這隻 app 前,

我們要先定義好程式大致上的流程

基本上接下來的程式碼都不會用到 storyboard

只會用到程式 + xib

程式的流程大致上是使用 Navigation controller 來控制 view 的轉換

第一頁 - tableView 顯示 todo items list

image

點進子項目可以觀看內容,進到子頁後可以編輯,

編輯後就即可存檔

新增項目則在主頁的右上角 “Add” 可以新增

我們會先從建立假的資料開始,也就是我會先刻出程式的流程

先不接 API

實際寫出運作流程後,再加上 API 操作的部分

因此今天的進度就先開一個新專案,將基本的 Navigation + tableView 建立起來吧:

首先建立一個新專案

再來到 project settings

將 Main Interface 及 Launch Screen file 拿掉

並將 deploy target 設成 7.1 (反正用到的程式碼都一樣~ 沒有特別使用 8.0 的 lib)

設定 device orientation - 只限定直的

image

接著就來編輯 AppDelegate.swift

建立一個 NavigationController + ViewController

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?
    var navigationController: UINavigationController?
    var viewController: ViewController?

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        // Override point for customization after application launch.
        
        self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
        self.window?.backgroundColor = UIColor.whiteColor()
        
        self.viewController = ViewController()
        self.viewController?.title = "TODO List"
        
        self.navigationController = UINavigationController(rootViewController: self.viewController!)
        
        self.window?.makeKeyAndVisible()
        self.window?.rootViewController = navigationController
        
        return true
    }

就是之前有用到的程式碼,稍作改寫

再來到 ViewController 中, 將背景色稍改一些

override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        
        self.view.backgroundColor = UIColor.yellowColor()
    }

最後將 storyboard 以及 launchScreen.xib 刪掉

執行程式,就 OK 囉!

image