Skip to content

Commit d8ece14

Browse files
julienpougetmats-claassen
authored andcommitted
Fix crash when using swift custom cells with xib files (#1038) (#1040)
1 parent fdca5f7 commit d8ece14

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

Examples/Swift/SwiftExample/AppDelegate.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
1717
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
1818

1919
// Declare custom rows
20-
XLFormViewController.cellClassesForRowDescriptorTypes()[XLFormRowDescriptorTypeRate] = "XLFormRatingCell"
20+
XLFormViewController.cellClassesForRowDescriptorTypes()[XLFormRowDescriptorTypeRate] = NSStringFromClass(XLFormRatingCell.self)
2121
XLFormViewController.cellClassesForRowDescriptorTypes()[XLFormRowDescriptorTypeFloatLabeledTextField] = FloatLabeledTextFieldCell.self
22-
XLFormViewController.cellClassesForRowDescriptorTypes()[XLFormRowDescriptorTypeWeekDays] = "XLFormWeekDaysCell"
22+
XLFormViewController.cellClassesForRowDescriptorTypes()[XLFormRowDescriptorTypeWeekDays] = NSStringFromClass(XLFormWeekDaysCell.self)
2323
XLFormViewController.cellClassesForRowDescriptorTypes()[XLFormRowDescriptorTypeSegmentedInline] = InlineSegmentedCell.self
2424
XLFormViewController.cellClassesForRowDescriptorTypes()[XLFormRowDescriptorTypeSegmentedControl] = InlineSegmentedControl.self
2525
XLFormViewController.inlineRowDescriptorTypesForRowDescriptorTypes()[XLFormRowDescriptorTypeSegmentedInline] = XLFormRowDescriptorTypeSegmentedControl

XLForm/XL/Descriptors/XLFormRowDescriptor.m

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,10 @@ -(XLFormBaseCell *)cellForFormController:(XLFormViewController * __unused)formCo
135135
} else {
136136
bundle = [NSBundle bundleForClass:NSClassFromString(cellClass)];
137137
cellResource = cellClassString;
138+
if ([cellClassString rangeOfString:@"."].location != NSNotFound) {
139+
NSArray *components = [cellClassString componentsSeparatedByString:@"."];
140+
cellResource = [components lastObject];
141+
}
138142
}
139143
NSParameterAssert(bundle != nil);
140144
NSParameterAssert(cellResource != nil);

0 commit comments

Comments
 (0)