wha*_*ean 2 objective-c key-value-coding
当该属性是CGRect时,如何设置实例的属性.我想做这个:
CGRect rect = CGRectFromString(value);
[localClassObjectInstance setValue:rect forKey:key];
Run Code Online (Sandbox Code Playgroud)
但编译器不喜欢setValue; 它说我将CGRect发送到不兼容类型'id'的参数.
谢谢
您必须将CGRect转换为NSValue(反之亦然):
NSValue *myValue = [NSValue valueWithCGRect:rect];
Run Code Online (Sandbox Code Playgroud)
NSValue是一个对象(因此它的类型为"id").
然后你可以回到CGRect:
CGRect myRect = [myValue CGRectValue];
Run Code Online (Sandbox Code Playgroud)