Re: Qustion about possibly bad advice in NSView documentation
Re: Qustion about possibly bad advice in NSView documentation
- Subject: Re: Qustion about possibly bad advice in NSView documentation
- From: Shawn Erickson <email@hidden>
- Date: Tue, 25 Sep 2007 08:25:30 -0700
On Sep 25, 2007, at 8:11 AM, Erik Buck wrote:
Indeed, you can wrap NSRect structures in an NSValue object. That
doesn't help in this case. The documentation seems to be
suggesting that the following is valid (I don't think it is):
- (void)drawRect:(NSRect)aRect
{
[self performSelector:@selector(setNeedsDisplayInRect:)
withObject:NSMakeRect(0,0, 100, 100) afterDelay:0.0];
}
Even if this is changed to use NSValue, it doesn't help:
- (void)drawRect:(NSRect)aRect
{
[self performSelector:@selector(setNeedsDisplayInRect:)
withObject:[NSValue valueWithRect:NSMakeRect(0,0, 100, 100)]
afterDelay:0.0];
}
I doesn't help because the setNeedsDisplayInRect: method is not
expecting an NSValue argument; it's expecting an NSRect structure
argument.
Provide a setNeedsDisplayInRect:(NSValue*) in the target object that
knows how to deal with the NSValue encoded NSRect.
...or use a trampoline object to do this...
[[self performLater] setNeedsDisplayInRect:NSMakeRect(0,0, 100, 100)];
... of course you have to implement the magic to do the above. You
can find some code online for this type of thing (HOM, higher order
messaging).
-Shawn
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden