ios CoreData 用父类的实例对象person接收存有子类的数组,打印p

新建Person类

person的子类 Student

Teacher

今天做数据库封装时想到的,因为查询出的结果都继承自NSManagerObject,但是他的子类属性又不一定一样,所以我就想我在在查询之后能不能判断他是那个子类并且按照子类的属性进行赋值,所以首先我要数组存的对象的类进行判断

测试如下:(把主要代码贡献如下,其他文件自己建议下吧,很简单)

NSMutableArray * array = [NSMutableArrayarray];

NSMutableArray * array2 = [NSMutableArrayarray];

for (int i =0; i< 5; i++) {

Student * stu1 = [[Studentalloc]init];

stu1.name =[NSStringstringWithFormat:@"jack%i",i];

[arrayaddObject:stu1];

Teacher * teacher = [[Teacheralloc]init];

teacher.name = [NSStringstringWithFormat:@"limei%i",i];

[array2addObject:teacher];

}

for (Person * pin array) {

NSLog(@"%@——",p.class);

}

for (Person * pin array2) {

NSLog(@"%@——",p.class);

}

//从打印结果可以看出虽然我用他的父类接收,.class后仍能显示子类名称,这样从数组中遍历的对象我可以用.class获取他是哪个子类,并判断如何给他赋值

// 例如

for (Person * pin array2) {

if (p.class == [Studentclass]) {

);

}else {

);

}

}

if ([array[0]class] == [Studentclass]) {

);

}else{

,[array[0]class]);

}

ios CoreData 用父类的实例对象person接收存有子类的数组,打印person.class ,结果是子类类名?还是父类类名(已解决)ios CoreData 用父类的实例对象person接收存有子类的数组,打印person.class ,结果是子类类名?还是父类类名(已解决)ios CoreData 用父类的实例对象person接收存有子类的数组,,打印person.class ,结果是子类类名?还是父类类名(已解决)ios CoreData 用父类的实例对象person接收存有子类的数组,打印person.class ,结果是子类类名?还是父类类名(已解决)

而开始追寻他内心世界的真正财富

ios CoreData 用父类的实例对象person接收存有子类的数组,打印p

相关文章:

你感兴趣的文章:

标签云: