Ios 使用带键路径的谓词,返回多个元素,但存储为1个元素
下面是我的代码Ios 使用带键路径的谓词,返回多个元素,但存储为1个元素,ios,objective-c,xcode,nspredicate,Ios,Objective C,Xcode,Nspredicate,下面是我的代码 dataArray = [[response valueForKey:@"data"]mutableCopy]; NSPredicate *departmentPredicate = [NSPredicate predicateWithFormat:@"department == %@",selectedDepartment]; doctorsArray =[[dataArray filteredArrayUsingPredicate:departmentPredicate]
dataArray = [[response valueForKey:@"data"]mutableCopy];
NSPredicate *departmentPredicate =
[NSPredicate predicateWithFormat:@"department == %@",selectedDepartment];
doctorsArray =[[dataArray filteredArrayUsingPredicate:departmentPredicate]mutableCopy];
doctorsNameArray = [[doctorsArray valueForKey:@"doctors"]mutableCopy];
doctorsListArray = [[doctorsNameArray valueForKey:@"name"]mutableCopy];
数据数组(4个元素)
(
{
科室=牙髓学;
医生=(
{
id=11;
name=“亚历克斯博士”;
}
);
id=7;
},
{
科室=“手术牙科”;
医生=(
{
id=9;
name=“Amal K Ramachandran博士”;
},
{
id=6;
name=“Rahman博士”;
},
{
id=10;
name=“Dr varsha”;
}
);
id=8;
},
{
部门=其他实体;
医生=(
{
id=8;
name=“Rashid KC博士”;
},
{
id=5;
name=Prasad;
}
);
id=5;
},
{
部门=牙周病;
医生=(
{
id=7;
name=“Sreya Vishwanath博士”;
}
);
id=6;
}
)
阵列(1个元素)
(
{
部门=其他实体;
医生=(
{
id=8;
name=“Rashid KC博士”;
},
{
id=5;
name=Prasad;
}
);
id=5;
}
)
医生姓名数组
(
(
{
id=8;
name=“Rashid KC博士”;
},
{
id=5;
name=Prasad;
}
)
)
医生列表数组(1个元素)
(
(
拉希德博士,
普拉萨德
)
)
问题是医生数组、医生姓名数组、医生列表数组包含多个元素,但存储为1个元素。您可以使用键值编码集合运算符。您可以在此处使用
@unionofarray
关键字
doctorsNameArray=[doctorsArray valueForKeyPath:@“@unionofarray.doctors”]代码>
这将为您提供一个单一数组,它组合了doctorsArray
中每个元素的所有医生数组。您希望医生将数组列表为单一数组而不是嵌套数组,对吗?是的。这就是我需要的@NiravDI只需要获取所选科室的医生,这是最后一个科室。.按如下方式尝试NSArray*nameArray=[doctorsListArray valueForKeyPath:@“@unionofarray.self”]谢谢兄弟。。它在工作@涅拉夫德
<__NSArrayM 0x7ca81f10>(
{
department = Endodontics;
doctors = (
{
id = 11;
name = "Dr Alex";
}
);
id = 7;
},
{
department = "Operative Dentistry";
doctors = (
{
id = 9;
name = "Dr Amal K Ramachandran";
},
{
id = 6;
name = "Dr Rahman";
},
{
id = 10;
name = "Dr varsha";
}
);
id = 8;
},
{
department = Othondontics;
doctors = (
{
id = 8;
name = "Dr. Rashid KC";
},
{
id = 5;
name = Prasad;
}
);
id = 5;
},
{
department = Periodontics;
doctors = (
{
id = 7;
name = "Dr Sreya Vishwanath";
}
);
id = 6;
}
)
<__NSArrayM 0x7c9553e0>(
{
department = Othondontics;
doctors = (
{
id = 8;
name = "Dr. Rashid KC";
},
{
id = 5;
name = Prasad;
}
);
id = 5;
}
)
<__NSArrayM 0x7c94ef10>(
<__NSArrayI 0x7c921ea0>(
{
id = 8;
name = "Dr. Rashid KC";
},
{
id = 5;
name = Prasad;
}
)
)
<__NSArrayM 0x7b760ba0>(
<__NSArrayI 0x7ca836f0>(
Dr. Rashid KC,
Prasad
)
)