On Apr 30, 2016, at 17:27 , Richard Charles <rcharles...@gmail.com> wrote:
> 
> NSNumber *yes = [NSNumber numberWithBool:YES];
> [self performSelector:@selector(setNeedsDisplay:) withObject:yes 
> afterDelay:0.0];

No, that’s the opposite of the solution to that particular issue. :)

The problem is that you’re passing an object pointer (an 8-byte value) to a 
method that takes its value from the low-order byte of the the value it 
receives (more or less — exactly what it looks at is platform-dependent). A 
value of @YES or @NO is likely to be a tagged pointer, which is going to have 
at least one bit set in the low-order byte, which will make *either* @YES *or* 
@NO appear to be YES to the receiver.

You simply cannot validly invoke “setNeedsDisplay:” via ‘perfomSelector’. But 
this is not your problem.

> I have tried all these crazy ways to get the run loop to run once but nothing 
> works.

The next place I’d go is to investigate NSActivityOptions, along with 
begin/end/performActivity… in NSProcessInfo.

IOW, you might have to declare that your app is “busy” until after the 2 
seconds has expired.



_______________________________________________

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