計本 iPhone手機應用開發(fā)設計(愛炒股)_第1頁
計本 iPhone手機應用開發(fā)設計(愛炒股)_第2頁
計本 iPhone手機應用開發(fā)設計(愛炒股)_第3頁
計本 iPhone手機應用開發(fā)設計(愛炒股)_第4頁
計本 iPhone手機應用開發(fā)設計(愛炒股)_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、5-2'cang1 市動態(tài),把握出售111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 算'suan1著稅基一個單位,為進攻性111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 及'ji11111111111111111111111111111111111111111111111111111

2、11111111111111111111111111111111111111111111111111iP圖u1、圖標數(shù)字等。用程序 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111hone手機應用開發(fā)設計(愛炒股)數(shù)學與計算機科學學院 計算機科學與技術(shù)專業(yè)105032011126 張民鵬 指導教師:黃欣沂【摘要】在如今一個經(jīng)濟正高速發(fā)展的社會里,越來越多的人開始將投資的目光移向金融市場。在懵懂與實戰(zhàn)之間,愛炒股(iStock)軟件應運而生。愛炒股手機軟件的設計是集股票

3、信息、資訊、模擬炒股于一體的基于IOS操作系統(tǒng)的一款手機應用軟件。運用異步加載、單例、通知、MVC等當前熱門技術(shù)實現(xiàn)。它給予更多人一次真實的體驗,買入、賣出、撤單,讓極佳的體驗效果帶你玩轉(zhuǎn)股市。投資決策、投資組合,為了實戰(zhàn)而奠定基礎。微博登陸、微信朋友圈分享,讓更多的人來關注這場智者的游戲、勇者的戰(zhàn)爭。在設置欄,你可以更加個性化。因遠程推送,讓你不是一個人在戰(zhàn)斗,隨時關注市場的變動?!娟P鍵詞】愛炒股;手機應用;軟件;iOS目錄1 引言41.1課題開發(fā)背景41.2軟件系統(tǒng)開發(fā)的現(xiàn)實意義42 系統(tǒng)開發(fā)環(huán)境52.1 開發(fā)工具52.2 開發(fā)語言52.3 數(shù)據(jù)庫工具52.4 第三方框架53 愛炒股軟件數(shù)

4、據(jù)接口介紹63.1 數(shù)據(jù)類型介紹63.2 數(shù)據(jù)接口介紹74 愛炒股軟件需求分析74.1 愛炒股軟件系統(tǒng)的可行性分析74.2 愛炒股軟件系統(tǒng)功能需求分析75 愛炒股軟件系統(tǒng)設計95.1 愛炒股軟件系統(tǒng)總體架構(gòu)設計95.2自選股模塊95.3大盤指數(shù)模塊105.4我的賬戶模塊125.5 模擬委托交易模塊135.6決策模塊135.7股市資訊模塊145.8設置模塊156 愛炒股軟件系統(tǒng)實現(xiàn)166.1 數(shù)據(jù)的抓取與解析16 6.1.1 數(shù)據(jù)的抓取16 6.1.2 數(shù)據(jù)解析176.2數(shù)據(jù)的請求及刷新246.2.1 數(shù)據(jù)的請求246.2.2 NSTimer定時刷新246.3數(shù)據(jù)庫266.3.1 數(shù)據(jù)庫表266

5、.3.2 數(shù)據(jù)庫的單例實現(xiàn)286.4數(shù)據(jù)的存儲286.4.1圖片的緩存處理286.4.2用戶信息的緩存286.4.3交易數(shù)據(jù)的存儲296.5 數(shù)據(jù)安全296.5.1 MD5加密實現(xiàn)296.5.2 指紋識別306.6 通知316.6.1 本地通知316.6.2 遠程推送通知326.7模擬交易實現(xiàn)過程346.7.1 買入356.7.2 賣出376.7.3 撤單376.8資產(chǎn)組合風險計算386.8.1 相關參數(shù)386.8.2 實現(xiàn)算法396.8.3 關于該算法的實際不確定性417 系統(tǒng)測試437.1 兼容性測試437.2 性能測試437.3 穩(wěn)定性測試448 總結(jié)45參考文獻45附錄一:數(shù)據(jù)接口47

6、附錄二:圖標50附錄三:版本控制511 引言1.1課題開發(fā)背景根據(jù)TIOBE最新發(fā)布2014年10月的編程語言排行榜中,可以看到C、Java、Objective-C依舊處于榜單前三。另外,Apple公司在9月份正式發(fā)布的Swift新的編程語言已悄然進入排行前二十的榜單中。從這些數(shù)據(jù)中可以看到iOS系統(tǒng)逐漸在擴大市場規(guī)模。圖1-1 TIOBE編程語言排行榜【數(shù)據(jù)來源:】不論是iPhone的用戶體驗,還是硬件方面,都是目前極受廣大消費者的喜愛。基于iOS開發(fā)的手機應用產(chǎn)品,在市場中得覆蓋率也是逐步在提高。1.2 愛炒股軟件系統(tǒng)框架設計開發(fā)的現(xiàn)實意義對于那些剛開始準備步入股市的哪些人來說,愛炒股這款

7、軟件是極其合適不過的了。愛炒股手機軟件的設計是集股票信息、資訊、模擬炒股于一體的基于IOS操作系統(tǒng)的一款手機應用軟件。當下,模擬炒股功能大部分是出現(xiàn)在PC端,而在移動端出現(xiàn)的是較少的。剛進入股市,必然有種膽戰(zhàn)心驚,確實是這樣,股市每天千變?nèi)f化,所以,用愛炒股來先練練手也是不錯的。除了模擬交易的功能外,愛炒股中得股票資訊也是非常豐富的,整合各大財經(jīng)門戶網(wǎng)站的信息,如同花順、和訊、騰訊股票等,同時也包含有各大機構(gòu)的調(diào)研報告供參考投資。1.3 愛炒股軟件系統(tǒng)設計預達到的目標該系統(tǒng)沿著移動端開發(fā)趨勢,運用Objective-C開發(fā)語言,實現(xiàn)基于iOS系統(tǒng)平臺的集股票資訊、投資參考、模擬炒股于一體的iP

8、hone手機應用軟件。2 愛炒股軟件開發(fā)環(huán)境2.1 開發(fā)工具該應用軟件使用的開發(fā)工具為Xcode 5.1。目前Xcode已更新到6.1版本,在該應用中主要使用Xcode 5.1進行開發(fā),在后續(xù)的更新和維護中采用的是Xcode 6.1。2.2 開發(fā)語言目前該軟件使用的開發(fā)語言為Objective-C。當下市場上比較流行于iOS應用開發(fā)的語言是OC和Swift,但是由于Swift還不是太穩(wěn)定,有很多語言規(guī)范還在不斷的完善中,所以iStock應用主要采用Objective-C語言進行編碼開發(fā)。2.3 數(shù)據(jù)抓包工具該軟件使用的抓包工具為paros。2.4 第三方框架該應用中主要使用了以下幾種第三方框架

9、:表2-1 第三方框架框架說明AFNetworking一個輕量級的網(wǎng)絡請求api類庫CorePlot開源矢量圖形庫GDataXMLNode解析xml數(shù)據(jù)的類庫MJRefresh數(shù)據(jù)刷新和加載SDWebImage提供圖片異步緩存的機制ShareSDK新浪微博登錄、分享XCMultiSortTableView多級表格XGSDK騰訊信鴿遠程推送3 愛炒股軟件數(shù)據(jù)接口介紹3.1 數(shù)據(jù)類型介紹在愛炒股軟件中通過請求數(shù)據(jù)后返回的數(shù)據(jù)類型主要有字符串、xml和json三種。1、 字符串類型例如,通過GET請求后,返回的數(shù)據(jù)為以下結(jié)果:var hq_str_sh601688="華泰證券,13.93,

10、12.66,13.93,13.93,13.93,13.93,0.00,2877472,40083185,62863728,13.93,184800,13.92,51600,13.91,43900,13.90,15000,13.89,0,0.00,0,0.00,0,0.00,0,0.00,0,0.00,2014-11-26,15:03:05,00"對于字符串類型的數(shù)據(jù)來說,缺點之處在于:沒有明顯的數(shù)據(jù)結(jié)構(gòu),不方便解析。2、xml類型在獲取大部分的股票資訊類的接口時,返回的都是xml類型的數(shù)據(jù):<item><seq>568654740</seq><

11、;title><!CDATA 傳中央重磅會議下月召開 將定調(diào)明年經(jīng)濟政策 ></title><ctime><!CDATA 2014-11-26 10:46:37 ></ctime><source><!CDATA 同花順頭條 ></source><url><!CDATA ></url><digest><!CDATA近日,有消息人士對媒體透露稱,中央經(jīng)濟工作會議將于12月9日起開始舉行。會議將圍繞"新常態(tài)"下的宏觀經(jīng)濟和深化

12、改革,提出明年的經(jīng)濟社會發(fā)展目標和宏觀政策基調(diào)。當前市場對經(jīng)濟增速下調(diào)的猜測日益增多,北京經(jīng)濟學者表示,7-7.2%為合理的增長區(qū)間。></digest></item>3、json類型對于返回數(shù)據(jù)類型如下的格式: "code" : 0, "data" : "01/averatio/0" : "bd_code" : "pt013300", "bd_name" : "保險", "bd_zd" : "1

13、.926", "bd_zdf" : "6.93", "bd_zxj" : "29.706", "nzg_code" : "sh601336", "nzg_name" : "新華保險", "nzg_zd" : "3.50", "nzg_zdf" : "9.99", "nzg_zxj" : "38.53",3.2

14、 數(shù)據(jù)接口介紹數(shù)據(jù)接口主要從新浪股票、騰訊股票、同花順、和訊股票接口獲取,數(shù)據(jù)類型有:string、json、xml三種。具體數(shù)據(jù)接口詳見附錄一。4 愛炒股軟件需求分析4.1 愛炒股軟件系統(tǒng)的可行性分析iStock主要面向的群體是想體驗炒股并且毫無經(jīng)驗的人群,該軟件正是為他們提供了他們的所需。模擬炒股,較為真實的模擬顯示股票交易動作,模擬炒股中提供了買、賣、撤單三個模塊,進行仿真模擬交易,讓用戶較為真實的感受股票交易的過程,以及學習和分析如何進行擇股、投資組合等。4.2 愛炒股軟件系統(tǒng)功能需求分析根據(jù)系統(tǒng)功能劃分,iStock應用詳細需求描述如下:1、自選股功能需求該功能為一個基本功能,上海證

15、券交易所和深圳證券交易所的兩市股票超過三千只,用戶可以根據(jù)自己的選擇偏好來添加關注的股票,查看自選股相關信息,同時根據(jù)關注度的不同調(diào)整對自選股的排序等。2、大盤指數(shù)功能需求大盤指數(shù)是對股票交易的一個參考,在選擇選擇股票交易時,可以關注該股所在行業(yè)或者板塊的漲跌幅。同時,對于偏好交易漲停股或者跌停股的用戶,可以隨時關注其中漲停榜和跌停榜股票,以及能夠在漲停分析中查看漲停原因及相關概念,以便用戶能夠在相關概念中發(fā)掘低價股,逢低買進。3、我的賬戶功能需求在模擬交易中,我的賬戶占有很重要的作用。用戶所有的交易信息均能在我的賬戶中查看到,并且用戶能夠很清晰明了的看到當前持倉的盈虧。同時,用戶能夠查看當前

16、資產(chǎn)的構(gòu)成情況等。4、模擬交易功能需求模擬交易模塊為該應用的主要模塊,用戶通過該模塊進行模擬買賣交易,以及撤單。同時,可以查看當日交割單等信息。5、決策模塊需求該功能通過篩選各大機構(gòu)的分析報告,給予用戶更多投資信息,一邊用戶能夠清晰的了解當前投資機構(gòu)的動向,以及把握市場的熱門股。6、股市資訊功能需求該模塊有新聞和直播兩大類,用戶通過該模塊能夠獲得第一手股市訊息,實時關注股市動態(tài),把握出手時機。7、設置功能需求用戶根據(jù)自身行為偏好、相關網(wǎng)絡環(huán)境的變化等進行個性化設置,包行情刷新頻率、漲跌顏色、主題等等。5 愛炒股軟件系統(tǒng)設計愛炒股手機軟件的設計是集股票信息、資訊、模擬炒股于一體的基于IOS操作系

17、統(tǒng)的一款手機應用軟件。5.1 愛炒股軟件系統(tǒng)總體架構(gòu)設計圖5-1 iStock系統(tǒng)功能架構(gòu)5.2自選股模塊自選股模塊,用戶可以自定義添加關注的股票,并查看該所的相關信息。(1)添加、刪除自選股;(2)按當前價格、漲跌幅排序;(3)查看該股詳細信息,包括基本信息和詳細信息,基本信息有:股票當前價格、漲跌幅度、漲跌幅百分比、今開、最高、最低、成交量、交易五檔;詳細信息有:今開、昨收、漲停、跌停、最高、最低、外盤、內(nèi)盤、換手率、市盈率、振幅、市凈率、成交量、成交額、流通值、總市值;(4)快速下單交易:快買、快賣、快撤;(5)論股:實時更新該股最新帖子數(shù)據(jù);(6)公告:企業(yè)相關公告及業(yè)績報告;(7)F

18、10:包含該股公司的基本資料,財務數(shù)據(jù),股東情況、財務評估;(8)分享功能:支持新浪微博、微信好友、微信朋友圈、短信等平臺分享;(9)查看該股日K、周K、月K線圖;(10)查看該股的個股新聞和該股所屬的行業(yè)新聞。 圖5-2 自選股界面 圖5-3 自選股詳情界面 圖5-4 K線圖 圖5-5個股新聞5.3大盤指數(shù)模塊大盤指數(shù)模塊,提供市場主要指數(shù)信息,以及熱門板塊等。(1)查看各個市場的主要指數(shù),包括:上證指數(shù)、深證指數(shù)、道瓊斯指數(shù)、納斯達克、恒生指數(shù)、日經(jīng)指數(shù)、臺灣加權(quán)、新加坡等主要指數(shù);(2)排行榜;應用中每個榜單中對前十條數(shù)據(jù)進行顯示,點擊更多按鈕可獲得更多排名;(3)漲停分析;位于漲停榜中

19、,分析漲停榜中股票漲停原因,以及分析該股所屬板塊或者相關概念;(4)熱門板塊;提供當前走勢最好的幾大板塊,點擊更多板塊即可查看更多板塊相關指數(shù);(5)股指:歐美指數(shù)、亞太指數(shù)、大宗商品、外匯市場、人民幣牌價等。 圖5-6 滬深指數(shù)及排行榜 圖5-7 iStock系統(tǒng)功能架構(gòu) 圖5-8其他指數(shù) 圖5-9 漲停分析5.4我的賬戶模塊(1)我的賬戶:查看當前資產(chǎn)狀況;(2)我的持倉:查看當前購買股票市值;(3)投資收益:查看賬戶盈虧情況,以及當前購買股票盈虧;(4)交易記錄:用戶可通過時間段來進行查詢交易記錄。 圖5-10 個人中心 圖5-11 我的持倉 圖5-12 投資盈虧 圖5-13 資金明細5

20、.5 模擬委托交易模塊模擬市場進行交易,可以進行買入、賣出、撤單,以及查看我的持倉、當日委托、當日成交、查詢資金、資金明細、股東資料等;(1)買入:當輸入購買股票代碼時,自動填充該股所有信息,并結(jié)合模擬賬戶計算出可委托數(shù)量;(2)賣出:結(jié)合模擬賬戶,自動填充可賣數(shù)量;(3)撤單:當買進股票時,競賣價大于委托價格時,可撤單,即取消買進;當賣出股票時,競買價小于委托價格時,可撤單;(4)我的持倉:用戶可查看當前賬戶買進的所有股票的余額、可用余額、凍結(jié)數(shù)量、市價、成本、盈虧值、盈虧比例、市值、股票代碼、市場類別等信息;(5)當日委托:查看當日委托單;(6)當日成交:查看當日所有成交單;(7)查詢資金

21、:快捷查詢賬戶的幣種類別、余額、可用、凍結(jié)、股票、資產(chǎn)等信息;(8)資金明細:查詢所有交易中資金的動向;(9)登錄和退出:最初進入該模擬交易時,需進行登錄,無賬號可注冊后登錄。 圖5-14 模擬交易界面 圖5-15 買入操作界面5.6決策模塊(1)個股報告:提供機構(gòu)對某些個股的評級分析和投資指導意見等;(2)行業(yè)報告:提供機構(gòu)對行業(yè)的評測分析報告;(3)機構(gòu)晨報:投資機構(gòu)每日推薦個股;(4)策略報告:投資機構(gòu)投資策略建議。 圖5-16 個股報告 圖5-17 策略報告5.7股市資訊模塊該模塊通過以下6個小部分來呈現(xiàn)股市重要信息:(1)股市要聞(2)滾動新聞(3)投資機會(4)自選股新聞(5)更多

22、(6)股市直播 圖5-18 股票資訊界面一 圖5-19 股票資訊界面二5.8設置模塊(1)行情刷新頻率設置:用戶可分別設置在2G/3G/4G和WiFi下數(shù)據(jù)刷新的頻率。設置可選項:非WiFi網(wǎng)絡環(huán)境(不刷新、5秒、15秒、30秒和60秒)、WiFi網(wǎng)絡環(huán)境(不刷新、5秒),默認均為不刷新;(2)顯示設置:用戶可根據(jù)自身喜好及習慣,進行顯示設置,設置選項有:紅漲綠跌、綠漲紅跌。默認為紅漲綠跌;(3)清楚緩存:緩存中的數(shù)據(jù)來源主要是走勢圖、K線圖及微博登陸;(4)切換主題:主題主要是對navigationBar的顏色設置,設置選項有:紅色、藍色,默認為紅色;(5)夜間模式:提供用戶在夜間使用習慣,

23、降低亮度;(6)開啟指紋支付交易:該功能僅支持iPhone6、6Plus機型,當開啟該功能后,在進行交易時,對交易信息的確定通過指紋來確定;(7)版本:版本號。 圖5-20 設置界面 圖5-21 行情刷新平率設置界面6 愛炒股軟件系統(tǒng)實現(xiàn)iStock應用1.0.4版本已成功上線至蘋果AppStore應用商店,通過搜索關鍵詞“iStock”、“模擬炒股”即可搜索到。關于該應用的具體詳細上線信息及下載地址詳見附錄二。6.1 數(shù)據(jù)的抓取與解析6.1.1 數(shù)據(jù)的抓取應用中的數(shù)據(jù)主要來源于同花順、新浪股票、和訊股票、自選股(騰訊)、雅虎等。這些數(shù)據(jù)來源所返回的數(shù)據(jù)類型、格式也截然不同。應用中數(shù)據(jù)的抓包在

24、mac環(huán)境下所使用的工具是paros。(1)使移動端和電腦在同一個網(wǎng)段;(2)在移動端上設置HTTP代理,如圖6-1;(3)啟動paros,設置Local Proxy中的Adress和Port,如圖6-2;(4)然后運行移動端上程序即可看到數(shù)據(jù)包。 圖6-1 數(shù)據(jù)抓取設置操作一 圖6-2 數(shù)據(jù)抓取設置操作二6.1.2 數(shù)據(jù)解析(1)返回類型為字符串格式以請求自選股模塊中的數(shù)據(jù)為例,該接口來自于新浪股票,請求格式為:例如:var hq_str_sz000001="平安銀行,13.88,13.83,13.91,13.97,13.75,13.91,13.92,26392797,365850

25、445,12000,13.91,87282,13.90,18800,13.89,77245,13.88,44377,13.87,94400,13.92,134301,13.93,248200,13.94,1051131,13.95,106360,13.96,2015-01-21,10:05:40,00"var hq_str_sh601688="華泰證券,21.99,21.21,22.04,22.11,21.58,22.04,22.06,84642718,1853499325,1100,22.04,30598,22.03,38600,22.02,81800,22.01,340

26、147,22.00,500,22.06,78954,22.07,209000,22.08,152106,22.09,145240,22.10,2015-01-21,10:05:37,00"有效數(shù)據(jù)為雙引號中得內(nèi)容,不同含義的數(shù)據(jù)用逗號隔開了。以平安銀行(000001)為例:表6-1 請求返回數(shù)據(jù)示例序號內(nèi)容含義備注0平安銀行股票名稱113.88今日開盤價213.83昨日收盤價313.91當前最新價413.97今日最高價513.75今日最低價613.91競買價“買一”報價713.92競賣價“賣一”報價826392797成交數(shù)量單位:股(使用時以手為單位)9365850445成交金額單位

27、:元(使用時以萬元為單位)1012000買一申股單位:股(下同)1113.91買一報價1844377買五申股1913.87買五報價2094400賣一申股2113.92賣一報價28106360賣五申股2913.96賣五報價302015-01-21日期3110:05:40時間解析思路:(1)將返回的數(shù)據(jù)進行編碼轉(zhuǎn)換,否則會出現(xiàn)亂碼的情況;(2)通過分號“;”判斷請求股票的個數(shù),并通過分號將其隔開;(3)去掉多余的返回數(shù)據(jù)“var hq_str_”;(4)將等號“=”轉(zhuǎn)換成逗號“,”,并通過逗號再次將個股中得數(shù)據(jù)分割;(5)最后將分割號的數(shù)據(jù)逐個存到模型中。關鍵代碼如下:- (void)dataPa

28、raing:(NSMutableData *)data /編碼的轉(zhuǎn)換 NSStringEncoding enc =CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000); /創(chuàng)建文字對象,定義為網(wǎng)站的回復內(nèi)容 NSString *retStr = NSString alloc initWithData:data encoding:enc; /判斷自選股的個數(shù) NSString *regExStr = "" NSString *StringForSearch = retStr; NSE

29、rror *error = NULL; NSRegularExpression *regex = NSRegularExpression regularExpressionWithPattern:regExStr options:NSRegularExpressionCaseInsensitive error:&error; NSUInteger numberOfMatches = regex numberOfMatchesInString:StringForSearch options:0 range:NSMakeRange(0, StringForSearch length); N

30、SArray *retStrArray = retStr componentsSeparatedByString:"" for (int i = 0; i < numberOfMatches; i +) /定義回復的文字,把文字中的"="" withString:"," retStr = retStrArrayi stringByReplacingOccurrencesOfString:"=" withString:"," if (i = 0) retStr = retStr s

31、ubstringFromIndex:11; else retStr = retStr substringFromIndex:12; NSArray* stockData = NSArray arrayWithArray:retStr componentsSeparatedByString:"," /創(chuàng)建臨時的文字對象,定義為股票的數(shù)據(jù)內(nèi)容 NSString* stockNumberTemp = NSString stringWithFormat:"%",stockData objectAtIndex:0; NSString* stockNameTemp

32、= NSString stringWithFormat:"%",stockData objectAtIndex:1; NSString* stockCurrentTemp = NSString stringWithFormat:"%",stockData objectAtIndex:4; /計算股票的升幅數(shù)據(jù) double current = stockData objectAtIndex:4 doubleValue; double lastDay = stockData objectAtIndex:3 doubleValue; double diffe

33、rent = current - lastDay; double percent = different / lastDay * 100; ZMPStock *stock = ZMPStock alloc init; stock.stockName = stockNameTemp substringFromIndex:1; stock.stockCode = stockNumberTemp substringFromIndex:2; stock.stockPlate = stockNumberTemp substringToIndex:2; stock.stockCurrentPrice =

34、stockCurrentTemp; stock.stockIndex = stockPercentTemp; _dataArray addObject:stock; _tableView reloadData;(2)返回類型為json格式以請求大盤模塊中排行榜中得數(shù)據(jù)為例,例如:返回數(shù)據(jù)如下: "code" : 0, "data" : "01/averatio/0" : "bd_code" : "pt013400", "bd_name" : "信托", &

35、quot;bd_zd" : "1.794", "bd_zdf" : "10.00", "bd_zxj" : "19.738", "nzg_code" : "sz000563", "nzg_name" : "陜國投", "nzg_zd" : "1.05", "nzg_zdf" : "10.02", "nzg_zxj&qu

36、ot; : "11.53" , , "ranka/chr/0" : "code" : "sz300364", "hsl" : "0.08", "name" : "N中文", "state" : "", "zd" : "3.00", "zdf" : "44.05", "zf" : "24.0

37、8", "zxj" : "9.81", "ranka/chr/1" : "code" : "sz300288", "hsl" : "2.76", "name" : "朗瑪信息", "state" : "", "zd" : "-10.03", "zdf" : "-5.20", "z

38、f" : "6.17", "zxj" : "182.97", "msg" : "ok"以上數(shù)據(jù)是通過Jsaon軟件調(diào)整布局后的結(jié)果。返回格式為json格式的數(shù)據(jù)類型都是非常規(guī)范的,所以解析起來并沒有字符串的解析那樣麻煩。關鍵代碼如下:- (void)connectionDidFinishLoading:(NSURLConnection *)connectionNSDictionary *dict = NSJSONSerialization JSONObjectWithData:_dat

39、a options:NSJSONReadingMutableContainers error:nil;/漲幅榜NSMutableArray *zfbArray = NSMutableArray array;for (int i = 0; i < dict"data""ranka/chr/0" count; i +) ZMPStock *stock = ZMPStock alloc init;stock.stockName = dict"data""ranka/chr/0"i"name"st

40、ock.stockCode = dict"data""ranka/chr/0"i"code"stock.stockIndex = dict"data""ranka/chr/0"i"zdf"stock.stockCurrentPrice = dict"data""ranka/chr/0"i"zxj"zfbArray addObject:stock;/跌幅榜NSMutableArray *dfbArray = NSMut

41、ableArray array;for (int i = 0; i < dict"data""ranka/chr/1" count; i +) ZMPStock *stock = ZMPStock alloc init;stock.stockName = dict"data""ranka/chr/1"i"name"stock.stockCode = dict"data""ranka/chr/1"i"code"stock.stock

42、Index = dict"data""ranka/chr/1"i"zdf"stock.stockCurrentPrice = dict"data""ranka/chr/1"i"zxj"dfbArray addObject:stock;/換手率榜NSMutableArray *hslbArray = NSMutableArray array;for (int i = 0; i < dict"data""ranka/trunrl/0"

43、 count; i +) ZMPStock *stock = ZMPStock alloc init;stock.stockName = dict"data""ranka/trunrl/0"i"name"stock.stockCode = dict"data""ranka/trunrl/0"i"code"/stock.stockIndex = dict"data""ranka/trunrl/0"i"hsl"stock

44、.stockCurrentPrice = dict"data""ranka/trunrl/0"i"zxj"stock.turnOverRate = dict"data""ranka/trunrl/0"i"hsl"hslbArray addObject:stock;/振幅榜NSMutableArray *zfBArray = NSMutableArray array;for (int i = 0; i < dict"data""ranka/d

45、tzf/0" count; i +) ZMPStock *stock = ZMPStock alloc init;stock.stockName = dict"data""ranka/dtzf/0"i"name"stock.stockCode = dict"data""ranka/dtzf/0"i"code"/stock.stockIndex = dict"data""ranka/dtzf/0"i"zf"s

46、tock.stockCurrentPrice = dict"data""ranka/dtzf/0"i"zxj"stock.amplitude = dict"data""ranka/dtzf/0"i"zf"zfBArray addObject:stock;_dataArray addObject:zfbArray;_dataArray addObject:dfbArray;_dataArray addObject:hslbArray;_dataArray addObject:z

47、fBArray;_tableView reloadData;(3)返回類型為xml格式在愛炒股軟件中,大多數(shù)的股訊信息都是xml格式,以股訊板塊中得要聞為例,請求連接為:<xmlColumn><columnName><!CDATA 同花順頭條 ></columnName><total>101</total><pages>6</pages><nextPage><!CDATA ></nextPage><currentPage>1</currentPa

48、ge><pageItems><item><seq>569968214</seq><title><!CDATA 李克強:中國經(jīng)濟正向著形態(tài)更高級階段演進 ></title><ctime><!CDATA 2015-01-21 09:59:18 ></ctime><source><!CDATA 同花順頭條 ></source><url><!CDATA ></url><hot><!CDAT

49、A 0 ></hot><imgurl><!CDATA></imgurl><digest><!CDATA據(jù)新華社消息,國務院總理李克強當?shù)貢r間20日晚在瑞士達沃斯會見世界經(jīng)濟論壇主席施瓦布。李克強表示,世界經(jīng)濟論壇在國際經(jīng)濟領域具有重要影響,每年冬季在達沃斯舉行的年會都引來世界聚焦。今年年會主題“全球新局勢”緊扣國際形勢發(fā)展,探討人類面臨的挑戰(zhàn)和可以把握的機遇,具有很強針對性。></digest></item><item></item></pageItems>

50、</xmlColumn>關鍵代碼如下:- (void)loadData:(NSString *)url /所有的請求都需要AFHTTPRequestOperationManager發(fā)送請求 AFHTTPRequestOperationManager *manager = AFHTTPRequestOperationManager manager; /返回數(shù)據(jù)類型為二進制 manager.responseSerializer = AFHTTPResponseSerializer serializer; /get請求 manager GET:url parameters:nil suc

51、cess:(AFHTTPRequestOperation *operation, id responseObject) self.header endRefreshing; self.footer endRefreshing; if (flag) _dataArray removeAllObjects; GDataXMLDocument *xml = GDataXMLDocument alloc initWithData:responseObject options:0 error:nil; NSArray *news = xml nodesForXPath:"/xmlColumn/

52、pageItems/item" error:nil; /NSLog("%",news); int i = 0; for (GDataXMLElement *element in news) NSArray *title = element nodesForXPath:"./title" error:nil; NSArray *time = element nodesForXPath:"./ctime" error:nil; NSArray *imgurl = element nodesForXPath:"./img

53、url" error:nil;NSArray *url = element nodesForXPath:"./url" error:nil; ZMPImportantNewsTableViewCellNews *news = ZMPImportantNewsTableViewCellNews alloc init; news.newsImageUrl = imgurl0 stringValue; news.newsTitle = title0 stringValue; news.newsTime = time0 stringValue; news.newsUrl = url0 stringValue; if (i > 0) _dataArray addObject:news; i +; _important

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論