Fixed an issue when initial selections applied to picker with different number of rows for different components.

### Scenario

For example, the titles for two pickerView components are like this: 

```objc
self.titles = @[ @[ @"Component 0 Row 0", @"Component 0 Row 1"],
                 @[ @"Component 0 Row 1", @"Component 1 Row 1", @"Component 1 Row 2", @"Component 1 Row 3"]
                ];
```

If the initial selections for pickerview are `@[@(0), @(0)]`, there is no problem. But when initial selections are `@[@(1), @(2)]`, there will be an app crash due to `
            NSAssert([pv numberOfRowsInComponent:i] > row, @"Number of sections not match");` in `- configuredPickerView`.

### Reason

I'm not very sure of the actual reason, but likely the reason is: set selected index for picker will not automatically call this `UIPickerView` delegate `- pickerView:didSelectRow:inComponent:`. In our case, we have different number of rows in different components, and we have to update the second component when selection is changed in the first component, before we set the second selection. If not, we will crash the app if the selection is beyond the range of rows in first selection in our case.


### Solution

A manual call to `- pickerView:didSelectRow:inComponent:` delegate will fix the problem. 
Your call `[_delegate pickerView:pv didSelectRow:row inComponent:i];` just reload component from delegate method.