json和xml的普及個人覺得是為了簡化閱讀難度,以及減輕網路負荷,json和xml 資料格式在格式化以後都是一種樹狀結構,可以樹藤摸瓜的得到你想要的任何果子。 而不格式化的時候json和xml 又是一個普普通通的字串,在網路通訊的時候也只需要請求一次,而不用每次為得到木一個值而重複的請求伺服器或者目標主機, json和xml 都採用 鍵 - 值 的形式來存放資料。 xml 使用: <鍵> 值 </鍵> json 使用: &
標籤:理解Method Swizzling是學習runtime機制的一個很好的機會。在此不多做整理,僅翻譯由Mattt Thompson發表於nshipster的Method Swizzling一文。Method Swizzling是改變一個selector的實際實現的技術。通過這一技術,我們可以在運行時通過修改類的分發表中selector對應的函數,來修改方法的實現。例如,我們想跟蹤在程式中每一個view controller展示給使用者的次數:當然,我們可以在每個view
標籤:objective-c 分類 category OC提供了一種可以在不修改類的源碼基礎上,擴充類的方法的功能,"分類"Category,這個機制和C#中的擴充方法類似,一般用於在不方便修改類的源碼時(如OC系統相關的類庫),但有有需求要拓展類的方法,可以使用分類來實現。Java中應該是沒有提供相關的機制,但是Java可以通過動態代理來實現AOP,在切入點前
標籤:blog http ar for sp on art log cti 在書寫了類的聲明和實現後,應用程式如何去調用它呢?在Objective-c中,調用方法的簡單格式如下:(1)[執行個體
標籤:style io color ar 使用 for sp strong div 一個對象使用copy或nutableCopy方法可以建立對象的副本——修改副本的時候對
如何將XIB檔案轉換為Object-C來源程式呢?使用nib2objc這麼一個小工具就可以了,該工具的作者是akosma,你可以通過https://github.com/akosma/nib2objc下載到這個工具的原始碼。下載的工程代碼並用XCode編譯,產生一個命令列程式檔案nib2objc。然後執行如下命令開始轉換。nib2objc 1.xib >
標籤:style blog http color os 使用 io strong ar 代碼塊本質上是和其它變數相似。不同的是,代碼Block
標籤:排序 compare campare陷阱NSString有多個compare相關方法:- (NSComparisonResult)compare:(NSString *)string;- (NSComparisonResult)compare:(NSString *)string options:(NSStringCompareOptions)mask;-
http://www.cocoachina.com/macdev/objc/2011/0124/2602.html 在 Objective-C 中的類實現中經常看到這兩個關鍵字 ”self” 和 ”super”,以以前 oop 語言的經驗,拿 c++ 為例,self 相當於 this,super 相當於調用父類的方法,這麼看起來是很容易理解的。以下面的代碼為例:@interface Person:NSObject { NSString* name;}- (void)
大部分有一點其他平台開發基礎的初學者看到XCode,第一感想是磨拳擦掌,看到Interface Builder之後,第一感想是躍躍欲試,而看到Objective-C的文法,第一感想就變成就望而卻步了。好吧,我是在說我自己。 如果你和我一樣,對蘋果相關的開發:Mac OS
分類機制允許向一個類檔案中添加新的方法聲明,它不需要使用子類機制,並且在類實現的檔案中的同一個名字下定義這些方法。#import “ClassName.h”@interface ClassName (CategoryName)@endVector.h 代碼 #import <Foundation/Foundation.h> @interface Vector : NSObject { double _vec1; double _vec2; } @property
說明,這是網友翻譯的一篇總結Objective‐C文法的文章,我覺得原文寫得不錯,翻譯得也可以,所以直接放到這裡給大家看了。 中文PDF檔案下載可點擊 這裡 。 ====================================== 分隔線 ====================================Learn Objective‐C原文地址
Object-C 提供類似 Java / C++風格的錯誤處理模型,當使用 -fobjc-exceptions 開關(gcc > 3.3)時,它可以工作,但是只限於 OS X v10.3 以後的版本,之前的版本並不提供這一支援。使用錯誤捕獲的原則與其它語言類似:你不能用它來當作正常的處理流的判斷條件,而把它僅僅當作“意外”可以使用多個 @catch 塊來捕獲不同的錯誤類型。Cup *cup = [[Cup alloc] init]; @try { [cup
http://www.devbean.info/2011/04/from_cpp_to_objc_17/異常處理比起 C++ 來,Objective-C 中的異常處理更像 Java,這主要是因為 Objective-C 有一個 @finally 關鍵字。Java 中也有一個類似的 finally 關鍵字,但 C++ 中則沒有。finally 是 try()…catch()
作者:zyl910一、背景 現在很多常用的UML工具不支援Objective-C,在繪製UML時很不方便。得手工將Objective-C文法的參數列表,轉為UML文法或C++文法。比較費力且容易出錯。 於是我想編寫一個工具,自動的將Objective-C文法的參數列錶轉為UML或C++文法。 用什麼語言開發呢? 為了跨平台,我決定採用JavaScript來編寫該工具。 現在只是一個字串分析與產生的小工具,JavaScript足以勝任。二、功能設計 介面如下—— 基本使用方法——1.
轉自:http://www.yifeiyang.net/iphone-development-techniques-of-the-tools-for-chapter-1-the-xib-file-is-converted-to-objective-c-source-code/ nib2objc 是一個小巧的轉換工具,可以將 XIB 檔案自動轉換為 Objective-C 的原始碼檔案。 通常,考慮到程式的效率時,才將XIB直接轉換為原始碼檔案。但是這樣一來,通過Interface
一、retain屬性的主要作用 1、O-C記憶體管理和點文法 1>OC記憶體管理正常情況要使用大量的retain和relrese操作 2>點文法可以減少使用retain和release的操作 二、@property(retain)編譯器如何申明 編譯器對於@property中的retain展開是不一樣的 主要是要釋放上一次的值,增加本次計數器 在dog.h中聲明的: @property(retain)Dog *dog; 展開後為: -(void)
文章目錄 NSNumber賦值:NSArray賦值與訪問:NSDictionary賦值與訪問: Objective-C的文法新特性1. 枚舉類型的改進之前我聲明枚舉的方式都是按C++的習慣: typedef enum{ Human, Monkey, Chiecken, Cow } Animals;現在,新的聲明方式如下:typedef enum Animals :
上一篇展示了如何用傳統的“面向過程編程方法”,實現畫“矩形”、“圓”、“橢圓”,這一篇看下如何改用OOP的方法來實現:因為要用到“顏色”以及“矩形地區”二個枚舉,先把他們抽出來單獨放在CommDef.h檔案中//定義“幾何形狀顏色”枚舉typedef enum{kRedColor,kGreenColor,kBlueColor} ShapeColor;//定義“幾何形狀矩形地區”結構typedef struct{int x,y,width,height;}
oc中記憶體管理的三項原則:1. 誰建立(new 或者 alloc),誰release。2. 如果你從一個方法中獲得一個對象,應該假設這個對象的retaincount是1,而且已經被設定為autorelease,你不需要,也不應該release它。如果需要進一步傳遞這個對象,你可以進行retain或者copy操作。3.