UIDatePickerの不特定なクラッシュ
UIDatePickerを使用していて、何度も表示/非表示を繰り返していると以下のエラーが発生しクラッシュする時があった。
- 2xxx-xx-xx xx:xx:xx.xxx xxxxxxxx[xxxxx:xxxxxxx] *** Assertion failure in -[UIPickerTableView _createPreparedCellForGlobalRow:withIndexPath:willDisplay:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3512.60.7/UITableView.m:xxxxx
- 2xxx-xx-xx xx:xx:xx.xxx xxxxxxxx[xxxxx:xxxxxxx] CRASH: UITableView dataSource is not set
- ...
トラブルが起こるviewControllerのviewDidLayoutSubviewsメソッドをオーバーライドし以下の行を追加することで解決
-(void)viewDidLayoutSubviews {
[superviewDidLayoutSubviews];
[self.viewlayoutIfNeeded]; //この行の追加で解決
}