成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

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

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

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

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

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

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

搭建步驟如下:

1)新建一個(gè)空的workspace

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

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

201309020935.jpg

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

201309020934.jpg

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

201309020938.jpg

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

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

201309020941.jpg

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

201309020947.jpg

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

201309020953.jpg

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

201309020954.jpg

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

201309020955.jpg

6)在MyApp中使用MyLib的方法

在MyApp的ViewController.m文件中,首先添加對(duì)MyLib項(xiàng)目的引用:

#import "MyLib.h"

然后編寫以下代碼:

201309021000.jpg

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

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

最終截圖如下:

201309020903.jpg

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

201309021017.jpg

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

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

2)對(duì)修改過的MyLib項(xiàng)目,先Clean再Build。

3)在MyApp項(xiàng)目中重新添加對(duì)MyLib項(xiàng)目的引用。

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

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

2013-09-03 09:55:42

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

2013-09-09 10:48:24

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

2013-09-09 10:36:14

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

2013-09-16 10:43:15

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

2013-09-03 09:10:56

2012-06-25 12:43:26

.NET框架

2013-03-14 10:12:54

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

2011-03-07 13:50:20

2012-01-18 10:20:42

框架設(shè)計(jì)

2012-11-28 11:05:42

IBMdW

2020-07-30 10:35:32

Java反射框架設(shè)計(jì)

2023-03-31 13:31:45

2012-06-25 09:28:42

.NET可逆框架

2009-06-12 19:18:08

REST客戶端框架JavaScript

2011-07-07 13:21:56

UI設(shè)計(jì)

2012-02-10 10:27:54

WLANVDI

2009-09-16 16:09:41

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

2024-11-04 08:00:00

Netty客戶端

2009-09-08 09:12:12

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

2010-03-19 12:14:13

無線AP Client
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 中文字幕二区三区 | pacopacomama在线 | 一区二区精品 | 欧美大片在线观看 | 亚洲欧美日韩国产 | wwwxxx日本在线观看 | av手机在线看 | 欧美三级免费观看 | 国产精品久久午夜夜伦鲁鲁 | 中文字幕精品视频 | 国产高潮好爽受不了了夜色 | 亚洲成人一级片 | 久色激情 | 久久免费精品视频 | 国产精品大片 | 亚洲欧美一区二区三区国产精品 | 国产一区二区在线免费观看 | 精品一区二区三区中文字幕 | 久久综合国产精品 | 天堂va在线 | 欧美a∨ | 精品久久一 | 亚洲精品久久久久久下一站 | a级在线免费视频 | 99在线资源 | 国产精品久久久久久 | 日日夜夜91 | 欧美一区二区三区久久精品 | 99久久精品国产麻豆演员表 | 成人国产精品色哟哟 | 成人高清视频在线观看 | 国产福利资源在线 | 91麻豆精品一区二区三区 | 日本精品一区二区三区在线观看视频 | 欧美在线视频一区二区 | 伊人热久久 | 欧美亚洲一区二区三区 | 高清黄色网址 | 久久久久久久久久久高潮一区二区 | 国产一区二区精品自拍 | 国产美女免费视频 |