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
)

)