自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

無線客戶端框架設(shè)計(2):項目結(jié)構(gòu)的設(shè)計(iOS篇)

移動開發(fā) iOS
也許你會覺得麻煩,但是框架一旦穩(wěn)定下來之后,修改就不是那么頻繁了,所以上述那么麻煩的事情不會經(jīng)常去做。而且,一般而言,框架只會由一個人維護(hù),所以只要他每次修改框架并相應(yīng)更新項目后,發(fā)封郵件通知到家更新Git就好了。

本文附帶源碼:http://down.51cto.com/data/935164

在設(shè)計任何一個框架之前,都應(yīng)規(guī)劃好項目結(jié)構(gòu)。

假定Git作為我們的項目管理工具。我們要建立兩個倉庫,一個用于存放我們的框架,另一個用于存放我們的項目,后者引用前者。

對于iOS而已,大部分開發(fā)者已經(jīng)習(xí)慣于就一個project,所有的功能、頁面都做在上面,倒也沒錯。然而我現(xiàn)在要做的是,要讓我所設(shè)計的框架,脫離于項目而存在,這樣,明天我也許會做另一個項目,但是所使用的框架確是同一個。

為此,iOS需要用到workspace的概念。它相當(dāng)于.NET中的solution文件,在.NET中,我們可以在一個solution中添加多個project,同理,在iOS中,我們也可以在一個workspace中添加多個project。

搭建步驟如下:

1)新建一個空的workspace

選擇 File -> New -> Workspace , 將 Workspace 命名為 YoungHeart。

2)創(chuàng)建框架的project,命名為MyLib。

201309020935.jpg

3)在MyLib中實現(xiàn)幾個方法,build一次。

201309020934.jpg

4)創(chuàng)建項目的project,命名為MyApp

201309020938.jpg

5)在MyApp中添加對MyLib的引用

先在Target中,選中Summary這個Tab,添加libMyLib.a的引用:

201309020941.jpg

然后在Project中,選中Build Settings這個Tab,查找關(guān)鍵字Header Search Path,

201309020947.jpg

在搜索到的結(jié)果中,選中Header Search Path,添加路徑,記得選擇recursive:

201309020953.jpg

添加路徑后效果如下所示:

201309020954.jpg

***,會發(fā)現(xiàn),項目中,多了一個libMyLib.a,將其轉(zhuǎn)移到Frameworks目錄下:

201309020955.jpg

6)在MyApp中使用MyLib的方法

在MyApp的ViewController.m文件中,首先添加對MyLib項目的引用:

#import "MyLib.h"

然后編寫以下代碼:

201309021000.jpg

如果編譯不出錯,就說明添加引用成功了。否則,請檢查1-4步。

同時,如果編譯不出錯,你會發(fā)現(xiàn),在調(diào)試期間,你可以同時調(diào)試MyApp和MyLib兩個項目里面的代碼。而這非常重要。

最終截圖如下:

201309020903.jpg

如果以后對MyLib進(jìn)行了修改,比如,我將add方法的實現(xiàn)修改為

201309021017.jpg

,這時,MyApp是不知道的,仍然返回修改之前的結(jié)果(a1+a2)。這時,我們需要額外做一些事情,才能讓MyApp知道MyLib的修改。步驟如下:

1)刪除MyApp中對libMyLib的引用。

2)對修改過的MyLib項目,先Clean再Build。

3)在MyApp項目中重新添加對MyLib項目的引用。

也許你會覺得麻煩,但是框架一旦穩(wěn)定下來之后,修改就不是那么頻繁了,所以上述那么麻煩的事情不會經(jīng)常去做。而且,一般而言,框架只會由一個人維護(hù),所以只要他每次修改框架并相應(yīng)更新項目后,發(fā)封郵件通知到家更新Git就好了。

責(zé)任編輯:閆佳明 來源: cnblogs
相關(guān)推薦

2013-09-09 10:48:24

iOS無線客戶端框架設(shè)計

2013-09-03 09:55:42

iOS無線客戶端框架設(shè)計

2013-09-09 10:36:14

iOS無線客戶端框架設(shè)計

2013-09-16 10:43:15

無線客戶端框架設(shè)計iOSJSON

2013-09-03 09:10:56

2011-03-07 13:50:20

2013-03-14 10:12:54

視覺設(shè)計產(chǎn)品設(shè)計

2012-06-25 12:43:26

.NET框架

2012-11-28 11:05:42

IBMdW

2012-01-18 10:20:42

框架設(shè)計

2020-07-30 10:35:32

Java反射框架設(shè)計

2023-03-31 13:31:45

2012-06-25 09:28:42

.NET可逆框架

2009-06-12 19:18:08

REST客戶端框架JavaScript

2012-02-10 10:27:54

WLANVDI

2011-07-07 13:21:56

UI設(shè)計

2009-09-16 16:09:41

NIS服務(wù)器客戶端NIS

2009-09-08 09:12:12

LINQ構(gòu)建框架設(shè)計

2024-11-04 08:00:00

Netty客戶端

2016-03-23 11:05:58

Socket開發(fā)框架分析
點贊
收藏

51CTO技術(shù)棧公眾號