[Three20] Three20的擴充模組

在前兩篇介紹Three20模組架構的文章中,各位讀者應該已經對於Three20的各個模組有大致的了解,在這篇文章中我們將看看Three20的擴充模組,也就是JSON/XML的framework。
評論
評論

在前兩篇介紹 Three20 模組架構的文章中,各位讀者應該已經對於 Three20 的各個模組有大致的了解,在這篇文章中我們將看看 Three20 的擴充模組,也就是 JSON/XML 的 framework。

模組相依性

如同 Three20 本身的模組,擴充模組也有一些相依的模組,如下圖:

    -------------   ------------     |  extJSON  |   |  extXML  |     -------------   ------------     ----------------------------     |          Network         |     ----------------------------     |           Core           |     ----------------------------

這些以 ext 開頭的模組便是這次所要談額外的擴充模組。

extThree20XML

extThree20XML 提供了一個方便的介面讓開發者們能夠進行 XML 的解析,而負責的類別正是 TTXMLParser,相比於 NSXMLParser 繁瑣的 delegate 方法呼叫,TTXMLParser 則只需如下的程式碼便可以進行解析:

TTXMLParser* parser = [[TTXMLParser alloc] initWithData:xmlData]; [parser parse];

經過解析之後,parser.rootObject 就會是一個包含 XML root node 資訊的 NSDictionary,裡面會有以下 key/value:

  • ___Entity_Name___ -- 名稱,透過 [parser nameForXMLNode] 可以取得
  • ___Entity_Type___ -- 類型,透過 [parser typeForXMLNode] 可以取得
  • ___Entity_Value___ --  包含的值,透過 [parser objectForXMLNode] 可以取得

而若是取得的值也是多個 XML Node,則會包裝成 NSArray。

要注意的是,根據 Three20 文件記載,這個 TTXMLParser 並沒有針對記憶體、效率進行優化,所測試過的 XML 文件都為 1MB 以下,若是讀者有需要解析檔案較大的 XML 文件則需多多注意。

extThree20JSON

而 extThree20JSON 自然是處理 JSON 物件的類別了,相對於 TTXMLParser,extThree20JSON 並沒有提供自己的 JSON Parser,而是引入了筆者以前曾經撰文提到過的 json-framework 及 YAJL.framework。

上述的這兩套 framework 所負責的都是 JSON 的解析,我們只需要選擇一套來使用即可,透過 Build Target 的指定,我們便可以選擇其中一套作為使用。

TTURLXMLResponse & TTURLJSONResponse

除了上面提到的 Parser 之外,extThree20XML 和 extThree20JSON 另外分別提供了兩種不同的 TTURLResponse 子類別。

在 TTURLRequest 中,我們可以將 response 設定為這兩種類別,而當 Three20 將網路上的資訊下載回來時,便會呼叫 TTURLJSONResponse 或是 TTURLXMLResponse 的解析方法進行處理、驗證,省去自行呼叫方法的時間。

結論

在這篇文章中我們看了 JSON、XML 此兩個 Three20 所提供的外掛模組,特別是在網路相關的應用程式中頻繁的會使用到。在下一篇文章中,我們將深入探索 Three20 的 URL-based Navigation,請各位讀者多多指教!


「 2021 科睿唯安創新論壇」釋放智慧財產力量,超前部署競爭優勢

專業資訊服務提供者科睿唯安( Clarivate ),將於 6 月 25 日下午舉辦線上創新論壇,邀請多位來自全球不同產業的專家齊聚一堂,分享如何釋放智慧財產力量。
評論
Photo Credit:科睿唯安 Clarivate
評論

商業競爭環境快速變遷,加上受到新冠肺炎疫情的侵襲,加速數位轉型已是頂尖機構能否保持競爭優勢及持續成長的關鍵。企業面對來自四面八方的壓力,卻依然能夠生存營運,其共同特色為掌握大數據分析洞察、以數據驅動決策、著重發展良好的創新技術,並以更快的速度及效率將成果推向市場;其中,聰明運用智慧財產資料,是成功商業策略的核心所在。

全球領先的專業資訊服務提供者科睿唯安( Clarivate )將於 6 月 25 日下午舉辦線上創新論壇( Clarivate Innovation Forum ),邀請多位來自全球不同產業的專家齊聚一堂,分享如何釋放智慧財產力量,超前部署競爭優勢 ( Maximizing IP to Drive Strategic Advantage )。立即報名:「2021 科睿唯安創新論壇」

結合全球與在地專家觀點,橫跨多個產業的視野

在全球疫情尚未平緩下,科睿唯安採用線上論壇的形式,跨越國界藩籬,讓國內外業界專家可以一同分享自身經驗與觀察。國際與談貴賓陣容包括來自阿里巴巴( Alibaba )、江森自控 ( Johnson Controls )、漢高( Henkel )、聯想( Lenovo )、阿克蘇諾貝爾( AkzoNobel )、費列羅( Ferrero )等知名品牌的智權領導人,台灣本地嘉賓則包含工研院、友達光電與台耀化學。

產業的多樣性也是本次論壇的看點,智慧財產包含專利、商標、工業設計、營業秘密、著作權等多種手段與形式,以往針對創新與智慧財產策略的討論,較少觸及產業結構、企業文化、市場趨勢等影響策略制定的各種因素,例如在高科技與生技製藥領域,專利佈局影響了後續技術優勢、投資併購與成果轉化;而餐飲及消費品牌則可能更專注在商標與設計的保護。本次論壇的專家來自於不同產業,包含電商網路、消費電子、食品、高科技、智慧建築、塑化、生技製藥等,囊括 B2B 與 B2C 不同的市場挑戰與競爭態勢,他們將探討經營智慧財產權的策略思維在其中的異同。立即報名:「2021 科睿唯安創新論壇」

提升智慧財產的戰略地位,加速跨領域整合與產業創新

過往許多台灣機構以防禦及降低風險的思維在經營智慧財產,智權部門在組織內部常被視為成本中心,然而一些發展較成熟的大型企業與研究機構早已跟上國際潮流,正在積極活化這些無形資產,從選題開始就以經營戰略資產的思維將其價值發揮到最大化。另一方面,從手機、電動車到醫療裝置,現代發明皆需要更深更廣的專業技術,跨域整合已是大勢所趨,自全球疫情爆發以來更凸顯了策略聯盟的重要性,尤其智慧財產是跨界合作的重要基礎之一。本次論壇嘉賓來自產業界與研究機構,他們將分享如何透過產業趨勢、供應商與客戶、業務行銷、產品研發、甚至是董事會成員,來深度瞭解企業的內外部需求,並且整合資源以促進組織內部創新文化的良性循環,同時將智慧財產結合創新策略與商業佈局,成為經營管理階層在決策制定上的有力後盾。

科睿唯安提供企業與研究機構在創新過程中所需的專業知識和解決方案,涵蓋科學研究、生命科學與製藥、智慧財產權各個領域。除了每年透過智慧財產資訊評選全球百大創新機構( Top 100 Global Innovators ),亦不時透過旗下整合的專業資訊與大數據分析,提供產業技術的創新趨勢與洞察,協助企業與研發機構利用數據資訊制定決策,加速創新。

立即報名:「2021 科睿唯安創新論壇」

Photo Credit:科睿唯安 Clarivate

本文章內容由「科睿唯安( Clarivate )」提供,經關鍵評論網媒體集團廣編企劃編審。