Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you wrap up a BOOL for KVC in Cocoa/Obj-C?

I'm using KVC to iterating through a few views. Having trouble setting BOOL properties:

[self setValue:YES forKeyPath:[NSString stringWithFormat:@"myView%d.userInteractionEnabled", n]];

I get: warning: passing argument 1 of 'setValue:forKeyPath:' makes pointer from integer without a cast.

There is no [NSValue valueWithBool:YES] or similar that I can find.

What to do?

like image 495
Meltemi Avatar asked Jul 02 '09 22:07

Meltemi


1 Answers

The compiler is generating a warning because the first argument of -setValue:forKeyPath: expects and object. YES is not an object.

The answer is right there in "NSValue.h":

[NSNumber numberWithBool: aBool]

Later versions of Xcode allow you to use the literal syntax:

[foo setValue:@YES forKey:@"bar"]

like image 130
Jim Correia Avatar answered Oct 19 '22 13:10

Jim Correia