[performSelector: withObject: afterDelay: ] may not be performed if it is called in a thread without proper run loop. This affects several places in CouchCocoa where this method is used.
For example, if a CouchPersistentReplication is created in a dispatch_async block not queuing in main thread, the replicator won't start automatically because the autosave use [performSelector: withObject: afterDelay: ] to perform save.
[performSelector: withObject: afterDelay: ] may not be performed if it is called in a thread without proper run loop. This affects several places in CouchCocoa where this method is used.
For example, if a CouchPersistentReplication is created in a dispatch_async block not queuing in main thread, the replicator won't start automatically because the autosave use [performSelector: withObject: afterDelay: ] to perform save.