Dynamic type , B-Tree, Archiving and Unarchiving on B-Tree

1- How to create dynamic object and dynamic type?
More detail: For instance if user wants an NSString or each object that foundation Kit and app kit have(NSArray, NSDictionary, …) the system create the object and allocate it.
2- How to create B-Tree and insert each dynamic object to it?
3 - How to add archiving and unarchiving mechanism to B-Tree for each node?
More detail: When each dynamic object that is created at runtime is inserted in B-Tree how to add archiving and unarchiving mechanism.