用運(yùn)行時(shí)磨隘,以后這兩個(gè)方法可以到處拷貝绒疗,不需要添加N行的重復(fù)代碼,也不用擔(dān)心屬性變化后這里忘記修改碍彭。
class_copyPropertyList(【self class】, &count), 這個(gè)方法只是取本類的屬性硕旗,如b繼承于a窗骑,在a中執(zhí)行- (id)initWithCoder:(NSCoder*)aDecoder方法,這個(gè)時(shí)候self始終是b漆枚,不會列出a中的屬性创译。必須在b中也實(shí)現(xiàn)- (id)initWithCoder:(NSCoder*)aDecoder方法。同時(shí)a中寫法是:class_copyPropertyList(【self superclass】墙基, &count)软族。不同類型的屬性,都可用id propertyValue = [aDecoder decodeObjectForKey:propertyName]; [self setValue:propertyValue forKey:propertyName];解檔残制。