当实例的属性是 CGRect 时,如何设置该属性。我想这样做:
CGRect rect = CGRectFromString(value);
[localClassObjectInstance setValue:rect forKey:key];
但是编译器不喜欢setValue;它说我正在将 CGRect 发送到不兼容类型“id”的参数。
谢谢
最佳答案
您必须将 CGRect 转换为 NSValue(反之亦然):
NSValue *myValue = [NSValue valueWithCGRect:rect];
NSValue 是一个对象(因此它的类型为“id”)。
然后你可以通过以下方式取回 CGRect:
CGRect myRect = [myValue CGRectValue];
关于Objective-C 运行时 - 如何使用 setValue 来设置 CGRect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10932297/