On 12 Apr, 2013, at 9:50 PM, Koen van der Drift <koenvanderdr...@gmail.com> 
wrote:

> 
> On Apr 12, 2013, at 9:30 AM, Roland King <r...@rols.org> wrote:
> 
>> Did you have a particular use-case in mind?
> 
> I am using the modalVC to set/change parameters for a calculation.  These 
> parameters are properties of the presentingVC, which also has a 'Start 
> Calculation' button.  So when I open the modalVC, the textfields need to show 
> the current values of the parameters. When I close it, the values need to go 
> back to the properties of the presentingVC.  So using the completion block to 
> pass these values around seemed like a good idea.
> 
> - Koen.

As I said, not really, that block isn't called until the presenting VC is 
entirely on-screen, the other VC has been dismissed, all the animations are 
finished etc. Normally if you want to pass information back to the presenting 
VC you want to do it before the transition even starts, so the VC configures 
itself to display that information and then comes on-screen with it already 
showing. If you use the completion block, the presenting VC will come back 
on-screen showing whatever it showed when it went off-screen and then, an 
amount of time later, when the animations are done and the system decides the 
presented VC is now really, fully, off-screen and it feels like calling the 
completion block (no guarantees when that is) then you'll get the information 
and only then will you update the screen, so the sequence would be 

dismiss-come back on screen showing stale information-wait-get callback from 
dismissed controller-change to show new information. 

In most normal cases you want the sequence

dismiss-get callback from dismissed controller-change to show new information 
when offscreen-come back on screen showing correct information. 

The completion block is really for your view controller to know when it is 
entirely finished presenting or entirely finished dismissing a view controller 
so that it can do some cleanup work, if it needs to. They often don't. 
_______________________________________________

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to