NSString

如何在 Objectivie-C 中計算 MD5 雜湊值?

MD5 是一個相當常使用雜湊演算法,通常是用於驗證字串或是檔案是否正確。最近海芋在 iOS App 開發過程中,也有需要在 Objectivie-C 中計算 MD5 雜湊值,在 Objectivie-C 中,其實就有計算雜湊值的函式 CC_MD5,使用方式也很簡單,如果有需要這個函式的朋友,那麼就趕快來看海芋的使用吧!

 

首先,我們先來看一下 CC_MD5 的組成, CC_MD5 原始的函式如下:

extern unsigned char *CC_MD5(const void *data, CC_LONG len, unsigned char *md)

 

Continue reading

Category 是什麼?如何在 Objective-C 中使用 Category?

在 Java、C++ 等物件化的程式語言中,如果我們要擴充 Class,只需要使用「繼承」的寫法就可以了,在 Objective-C 中,當然也支援了繼承的概念,不過更特別的是他支援了「Category」這種繼承型態。什麼是「Category」呢?簡單來說,就是將現有物件的功能再加以擴充函式,讓現有物件更能符合自己想實做的方式。而使用 Category 只能針對既有元件再新增或者覆寫函式,並不能像繼承一樣新增成員變數。以下是 Category 的實做。

 

@interface 原Class名稱 (Category Name)
// function 宣告
@end

@implementation 原Class名稱 (Category Name)
// function 實做
@end

 

舉例來說,如果我要擴充 NSString 這個物件,在裡面新增一個的函式 showMySiteName 來顯示我的網站名稱,那麼我只要在 A.h 檔中這樣寫。

@interface NSString (NSStringCategory)
- (void) showMySiteName;

@end

 

接下來,我在 A.m 檔案做這個函式,就可以從外面存取了。

@implementation NSString (NSStringCategory)
- (void) showMySiteName{
    NSLog(@"海芋小站真的棒!!");
}
@end

 
Continue reading