【发布时间】:2023-08-16 07:53:01
【问题描述】:
所以我有一个包含两个组件的 UIPickerView。第一个称为“橱柜”,第二个称为“抽屉”。它们在 CoreData Cupboards > Drawer 中有一对多的关系。如果我选择橱柜,我希望只显示匹配的抽屉。我不确定如何处理这种关系。
这就是我展示橱柜的原因:
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 2
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
if(component==0){
return cupboards.count
}
xxxx
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
if(component==0){
return cupboards[row].name
}
xxxx
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
if(component==0){
}
}
提前谢谢你
更新:
现在知道了,但我没有得到任何结果。
var cupboardDrawers = [Drawer]()
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
if(component==0){
let request: NSFetchRequest<Drawer> = Drawer.fetchRequest()
request.predicate = NSPredicate(format: "cupboard == %@", cupboards[row].name!)
do{
let result = try mgdContext.fetch(request)
cupboardDrawers = result
addEatDataPicker.reloadAllComponents()
}catch{
print(error.localizedDescription)
}
}
}
【问题讨论】:
标签: ios swift core-data uipickerview