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.