Time of Update: 2018-12-05
Foundation 架構請允許你利用檔案系統對檔案或目錄執行基本操作。這些基本操作是由NSFileManager類提供的,這個類的方法具有如下功能:建立 一個新檔案從現有檔案中讀取資料將資料寫入檔案中重新命名檔案刪除檔案測試檔案是否存在確定檔案的大小及其他屬性複製檔案測試兩個檔案的內容是否相同上述多資料操作也可以直接對目錄進行。例如,可以建立目錄,讀取其中的內容,或者刪除目錄。 管理檔案和目錄每個檔案方法都是對NSFileManager對象的調用,而NSFileManager對象
Time of Update: 2018-12-05
使用路徑:NSPathUtilities.h NSPathUtilities.h包含了NSString的函數和分類擴充,它允許你操作路徑名。 下面是一個例子:#import <Foundation/NSArray.h>#import <Foundation/NSString.h>#import <Foundation/NSFileManager.h>#import <Foundation/NSAutoreleasePool.h>#import
Time of Update: 2018-12-05
Time of Update: 2018-12-05
文章目錄 搜尋初始化添加一個庫:標頭檔路徑其他的第三方庫。 介紹:開發應用的時候第三方的庫是不可缺少的,能提高開發的效率。 一些經常用到的庫,在新的項目裡用是,你又得手工的Add到項目裡,用的到庫多起來了,就不方便管理了。發現CocoaPods這個軟體,可以幫你管理Xcode裡的第三方的庫,很方便。那怎麼用呢?先安裝CocoaPods。1、CocoaPods是跑在Ruby的軟體,安裝可能需要幾分鐘,安裝命名:sudo gem
Time of Update: 2018-12-05
單例模式在iOS開發過程中經常用到,蘋果提供過objective c單例的比較官方的寫法:static MyGizmoClass *sharedGizmoManager = nil; + (MyGizmoClass*)sharedManager{ @synchronized(self) { if (sharedGizmoManager == nil) { [[self alloc] init]; // assignment not done here
Time of Update: 2018-12-05
@property先行編譯指令的作用是自動聲明屬性的setter和getter方法有時候需要聲明相應的執行個體變數什麼時候需要聲明執行個體變數呢?看下面一個例子:@interface Foo: NSObject@property t;@@implmentation Foo- (NSInteger)t{ ...}- (void)setT:(NSInteger)newT{ ...}@end相應的setter, getter方法怎麼實現呢?
Time of Update: 2018-12-05
原文連結:http://pilky.me/view/21過去的幾年中湧現了大量的Objective-C開發人員。有些是從動態語言轉過來的,比如Ruby或Python,有些是從強型別語言轉過來的,如Java或C#,當然也有直接以Objective-C作為入門語言的。也就是說有很大一部分開發人員都沒有使用Objective-C太長時間。當你接觸一門新語言時,更多地會關注基礎知識,如文法和特性等。但通常有一些更進階的,更鮮為人知又有強大功能的特性等待你去開拓。 這篇文章主要是來領略下Objective
Time of Update: 2018-12-05
在Objective-C裡面,一個類被正確的編譯過後,在這個編譯成功的類裡面,存在一個變數用於儲存這個類的資訊。我們可以通過一個普通的字元 串取得這個Class,也可以通過我們產生的對象取得這個Class。Class被成功取得之後,我們可以把這個Class當作一個已經定義好的類來使用 它。 Selector和Class比較類似,不同的地方是Selector用於表示方法。
Time of Update: 2018-12-05
原文地址:http://www.cocoachina.com/macdev/objc/2012/0613/4355.html何時使用self.在網上搜尋或者論壇裡的回複大多都是簡簡單單的說這與objc的存取方法有關,如何與存取方式有關究竟他們之間的是什麼樣的關係就很少有同學回答了。下面以代碼來說明問題:建立一個Student類,繼承NSObject類,代碼: #import <Foundation/Foundation.h>@ interface Student :
Time of Update: 2018-12-05
很多想開發IOS,或者正在開發IOS的程式員以前都做過Java或者C++,當第一次看到Objective-C的代碼時都會頭疼,Objective-C的代碼在文法上和Java,
Time of Update: 2018-12-05
本篇部落客要介紹基礎資料型別 (Elementary Data Type)的長度,基礎資料型別 (Elementary Data Type)在Oc的數組中如何使用,還有其他資料類型的相互轉換等。為了示範基礎資料型別 (Elementary Data Type)的例子,我們建立一個iPhone項目類做例子1、建立項目為了方便,我們建立一個Single View Application 。輸入項目名稱 BaseTypeProduct Name: 指產品名稱 ,類似於項目名稱。Company
Time of Update: 2018-12-05
文章目錄 4.1、NSNumber 類型4.2、NSArray類型 今年WWDC 2012蘋果全球開發人員大會上,蘋果針對LLVM編譯器都做了重大改進,新版的Xcode 4.4中的LLVM編譯器升級到了4.0,給Objective-C帶來了很多令人驚喜的特性。注意,下面的文法需要下載Xcode 4.4。1、枚舉類型的改變老寫法:typedef enum Week{ Moday, Tuesday, Wednesday,
Time of Update: 2018-12-05
代碼塊本質上是和其他變數類似。不同的是,代碼Block Storage的資料是一個函數體。使用代碼塊是,你可以像調用其他標準函數一樣,傳入參數數,並得到傳回值。脫字元(^)是塊的文法標記。按照我們熟悉的參數文法規約所定義的傳回值以及塊的主體(也就是可以執行的代碼)。是如何把塊變數賦值給一個變數的文法講解:按照調用函數的方式調用塊物件變數就可以了:int result = myBlock(4); // result是 281、參數是NSString*的代碼塊 void
Time of Update: 2018-12-05
Objective-C的異常比較像Java的異常處理,也有@finally的處理,不管異常是否捕獲都都要執行。異常處理捕獲的文法 @try { <#statements#> } @catch (NSException *exception) { <#handler#> } @finally { <#statements#> }@catch{} 塊
Time of Update: 2018-12-05
Objective-C裡核心的處理字串的類就是NSString和NSMutableString這兩個類,這兩個類完成了Objective-C中字串大部分功能的處理。這兩個類的最主要的區別是NSString建立賦值後不能動態修改長度和內容,除非給重新賦值。而NSMutableString類似與鏈表的,在建立賦值後可以進行修改長度,插入,刪除等操作。註:以下代碼運行環境是:XCode 4.3.2 ,IOS 5.1。NSString提供了許多建立和初始化新字串的方法。下面這個是建立常量字串的。
Time of Update: 2018-12-05
1、Objective-C記憶體管理簡介: Objective-C需要自己考慮記憶體的管理,對於從Java, C#等語言轉向Objective-C平台的程式員新手來說,這是個很大的挑戰。幸運的是,如果熟悉了Objective-C的記憶體管理機制,手工管理記憶體也沒有那麼可怕。 Objective-C的記憶體管理介於C/C++和Java C#直接,不像C/C++語言記憶體管理全部需要程式員一手包辦,也不像Java C#語言有那麼完備的記憶體記憶體回收行程。(Objective-C
Time of Update: 2018-12-05
簡介:上篇我們講到了KVC,這篇我們學習KVO,全名為:Key Value
Time of Update: 2018-12-05
委託(delegate)是一種對象,另一個類的對象會要求委派物件執行它的某些操作。建立一個“NSObject”類別稱為建立一個非正式協議。任何實現“NSObject”類別中的方法的類的對象都可以成為委派物件。因為在Objective-C中所有的類都是NSObject的子類。當你想要向委派物件發送訊息時,最好先檢查該對象是否理解你將要發送的訊息。if ([delegate respondsToSelector: @selector(...)]{ [delegate ...];}正式協議:通過在@
Time of Update: 2018-12-05
類別是個很偉大的概念。使用類別可以為任何一個類添加新方法,包括那些你沒有原始碼的方法。這非常方便。想要為某個類添加新方法時,我們通常的做法是建立子類。但有時,子類不方便。你可能不能建立一個子類的對象。你可能使用的是架構和工具包,因此無法處理新類的對象。類別的聲明:@interface UIImage (ImageTransform)-(UIimage *)transformToSize:(NSSize
Time of Update: 2018-12-05
//Creating a Singleton Instancestatic MyGizmoClass *sharedGizmoManager = nil; + (MyGizmoClass*)sharedManager{ if (sharedGizmoManager == nil) { sharedGizmoManager = [[super allocWithZone:NULL] init]; } return sharedGizmoManager;} +