escoz / QuickDialog

QuickDialog - Quick and easy dialog screens for iOS
http://escoz.com/open-source/quickdialog
Other
3.07k stars 637 forks source link

Picker crashes on iOS 8.3 XCode 7.1 beta 3 #727

Open frakman1 opened 9 years ago

frakman1 commented 9 years ago

App crashes when I select Picker from main page. Crashes on both Simulator and iPhone 5.

Output log: 3648623971_Portrait_iPhone-Simple-Pad_Default 2015-10-16 17:49:43.169 QuickDialogExample[16961:908158] [iKeywi 3] iPhone-Portrait-QWERTY 2015-10-16 17:49:44.408 QuickDialogExample[16961:908158] [iKeywi 3] iPhone-Portrait-QWERTY 2015-10-16 17:49:46.323 QuickDialogExample[16961:908158] [iKeywi 3] iPhone-Portrait-QWERTY 2015-10-16 17:49:47.639 QuickDialogExample[16961:908158] [iKeywi 3] iPhone-Portrait-QWERTY 2015-10-16 17:49:55.957 QuickDialogExample[16961:908158] [iKeywi 3] iPhone-Portrait-QWERTY 2015-10-16 17:50:13.294 QuickDialogExample[16961:908158] Bool selected! 2015-10-16 17:50:13.528 QuickDialogExample[16961:908158] Bool selected! 2015-10-16 17:50:31.551 QuickDialogExample[16961:908158] [iKeywi 3] iPhone-Portrait-QWERTY 2015-10-16 17:50:32.968 QuickDialogExample[16961:908158] [iKeywi 3] iPhone-Portrait-QWERTY 2015-10-16 17:50:38.833 QuickDialogExample[16961:908158] selected index: 1 2015-10-16 17:50:39.250 QuickDialogExample[16961:908158] selected index: 2 2015-10-16 17:50:39.566 QuickDialogExample[16961:908158] selected index: 0 (lldb) bt warning: could not load any Objective-C class information. This will significantly reduce the quality of type information available.

ghost commented 9 years ago

Looks similar to a problem I just ran in to. The initializer for QPickerTableViewCell calls itself instead of super. I have a super-simple pull request in to fix it: https://github.com/escoz/QuickDialog/pull/729

frakman1 commented 9 years ago

Thank you Adam! That worked nicely.

I'm just curious; How did you know it was the 'super' and not the 'self' ? How would it have worked before and why does it not work now? In other words, what changed or was it always broken?

ghost commented 9 years ago

Calling super instead of self is simply a matter of looking at the method signature. The initializer was calling itself, which results in an infinite loop. Calling super is what you'd usually see in an initializer like this, so it's likely it was just a typo.

I don't know how or why it worked before. It's possible that the code used a different initializer in the past.

frakman1 commented 9 years ago

Ah I see. Thank you for clearing that up. Have you ever used FXForms? It's another form building template that I am currently using. https://github.com/nicklockwood/FXForms/

ghost commented 9 years ago

No, haven't seen it. Looks interesting, though.