vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtension.m in motion-yapper-0.0.1 vs vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtension.m in motion-yapper-0.0.2

- old
+ new

@@ -8,14 +8,39 @@ withTransaction:(YapDatabaseReadWriteTransaction *)transaction { NSAssert(NO, @"Missing required method(%@) in class(%@)", NSStringFromSelector(_cmd), [self class]); } +/** + * Subclasses may OPTIONALLY implement this method. + * + * If an extension class is renamed this method should be used to properly transition. + * The extension architecture will verify that a re-registered extension is using the same + * extension class that it was previously using. If the class names differ, then the extension architecture + * will automatically try to unregister the previous extension using the previous extension class. + * + * That is, it will attempt to invoke [PreviousExtensionClass dropTablesForRegisteredName: withTransaction:]. + * Of course this won't work because the PreviousExtensionClass no longer exists. + * So the end result is that you will likely see the database spit out a warning like this: + * + * - Dropping tables for previously registered extension with name(order), + * class(YapDatabaseQuack) for new class(YapDatabaseDuck) + * - Unable to drop tables for previously registered extension with name(order), + * unknown class(YapDatabaseQuack) + * + * This method helps the extension architecture to understand what's happening, and it won't spit out any warnings. + * + * The default implementation returns nil. +**/ + (NSArray *)previousClassNames { return nil; } +/** + * Read-only property. + * Automatically set by YapDatabase instance during the registration process. +**/ @synthesize registeredName; /** * Subclasses must implement this method. * This method is called during the view registration process to enusre the extension supports the database type.