2 回答

TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個贊
沒太明白你的意思。Java的反射是可以動態(tài)獲取某個實(shí)例的方法和屬性列表,對于這種功能,Obj-c可以用 NSObject的 respondsToSelector: 方法來確認(rèn)某個實(shí)例是否有某個方法;還可以用 performSelector: 來調(diào)用方法?;旧鲜强梢源鍶ava的反射。
至于空返回值判空的問題,我目前還真就沒太好的辦法,我一般會定義一個方法,依次判斷 containsObject:,nil,[NSNull null],length或count。這個方法可以寫在一個util里也可以擴(kuò)展一下寫在NSDictionary和NSArray里。

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個贊
objc的KVC機(jī)制和java的反射差不多。
比如
@interface A : NSObject{
NSString * name;
}
你可以這樣拿到
A *a = [[A alloc] init];
NSString *name = [a objectForKey:@"name"];
不知道您是不是想這樣
你實(shí)現(xiàn)nscoding的接口。- (id)initWithCoder:(NSCoder *)aDecoder這個可以做你想做的事。不知道我理解對不對。
添加回答
舉報(bào)