2017-02-26 151 views
1

我有2个选择器,用户在其上设置所需的int,然后将对象保存到核心数据。设置选择器默认为CoreData值?

后来,当他们想要编辑对象时,他们将其数据重新加载到编辑器中。

我有一个问题,即采摘无法从核心数据拉INT回来,默认自己这个价值,他们总是默认为“0”

有使采摘默认到所需的方法int存储在他们正在编辑的对象中?

我有以下的委托方法到位:

repsPicker.dataSource = self 
    repsPicker.delegate = self 
    setsPicker.dataSource = self 
    setsPicker.delegate = self 

然后我尝试从对象采取的属性,并将其应用到采摘,但通过数字即时通讯?代替其中id想我需要加时赛把代码访问采摘的默认值,这里是IM卡...

setsPicker.selectedRow(inComponent: Int(userExercise.sets)) 
repsPicker.selectedRow(inComponent: Int(userExercise.reps)) 

userExercise.sets或.reps的数据类型是Int64类型是否有帮助?

您的时间和帮助

编辑 -

这里非常感谢是组件覆盖

func numberOfComponents(in pickerView: UIPickerView) -> Int { 
    if pickerView == repsPicker { 
     return 1 
    } else if pickerView == setsPicker { 
     return 1 
    } 
    return 1 
} 

回答

1

你应该使用selectRow FUNC不selectedRow

func selectRow(_ row: Int, 
    inComponent component: Int, 
     animated animated: Bool) 

如此,应该是

setsPicker.selectRow(Int(userExercise.sets), inComponent :0,animated:false) 
repsPicker.selectRow(Int(userExercise.reps), inComponent :0,animated:false) 
+0

谢谢,那么在这种情况下YourComponentId会是什么? – jwarris91

+0

它取决于你想在选择器中改变哪个组件,检查这个覆盖'numberOfComponentsInPickerView' –

+0

我一直只有1在该func中,将它添加到OP作为参考,不知道它是否正确! – jwarris91