寫了個NSObject的擴充套件類

2021-06-21 00:43:50 字數 1305 閱讀 4249

乙個object的分類,可以在呼叫performselector:函式的時候不限制傳參的數量(bool需要封裝一層).

//為了讓performselector:後面帶入的引數可識別,很有必要將bool封裝一層,用於在後面解析函式時候的識別

@inte***ce boolclass:nsobject

@property (nonatomic,assign)bool b_;

+(boolclass *)getboolclass:(bool)b2_;

@end

#define boolclass(b) [boolclass getboolclass:b]

@inte***ce nsobject (extension)

//遠端呼叫的時候可擴充套件,不受兩個引數的限制

- (id)performselector:(sel)aselector withobjects:(void*)object1,... ns_requires_nil_termination;

@end

.m檔案開始
@implementation boolclass

+(boolclass *)getboolclass:(bool)b2_

@end

@implementation nsobject (extension

)- (id)performselector:(sel)aselector withobjects:(void*)object,... ns_requires_nil_termination

[invo setargument:&isid atindex:index];

}va_end(args);

[invo retainarguments];

[invo invoke];

//返回函式呼叫後的返回值

const char *returntype=sig.methodreturntype;

id returnvalue;

if(!strcasecmp(returntype, @encode(void)))//沒有返回值

else if(!strcasecmp(returntype, @encode(id)))else

return returnvalue;

}@end

//基本直接就能呼叫了,簡單實在

//最後推薦一下念茜大神的部落格: 

寫了個加密解密Url的類

usingsystem usingsystem.security.cryptography usingsystem.io usingsystem.text namespacenetbesttone.baseclass string querystringkey abcdefgh url傳輸引數加密k...

NSObject 類的反射,方法反射(十五)

nsobject 類的反射,方法反射用法如下 import ms nsreflect.h import ms person.h import ms student.h implementation ms nsreflect void shownsreflect else 基類 iskindofcla...

用c ,寫了個單鏈錶類

這幾天開始學習資料結構,今天便寫了個最簡單的單鏈表,在標頭檔案裡定義的 並且實現了自定義位置插入資料,刪除資料,查詢資料,預設新增資料功能 不知道這算不算adt呢,對於概念還不是很懂 笑 只有一點點的c基礎,寫物件導向還不是很熟悉,希望 不會很難看xd include include using s...