This one was a case of not reading the docs properly :-) The clientContext parameter was supposed to be an FSFileOperationClientContext struct with the 'info' member set to the data/object. The EXC_BAD_ACCESS was caused by me trying to pass in 'self' instead of the struct.
On 2011-09-20, at 6:11 PM, David Duncan wrote: > > On Sep 20, 2011, at 5:07 PM, Indragie Karunaratne wrote: > >> I'm trying to use FSCopyObjectAsync() to copy a file and get progress >> callbacks to update my UI. The last parameter (clientContext) gets passed on >> to the callback. Under ARC, I can not pass self because the parameter has a >> void* type. Using (__bridge void*)self silences the compiler warning but it >> results in EXC_BAD_ACCESS. Is there any way to pass an object for this >> parameter under ARC? > > If this is causing an EXC_BAD_ACCESS it is most likely because the object you > are passing as the clientContext is being released out from under you. In > general you should consider local references to an object as an implicit > ownership reference within the current scope, so if nothing else has an > owning reference to the object after the scope ends, the object will be > deallocated. A __bridge cast specifically says "don't do anything with > ownership for this object". > -- > David Duncan > _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com