如何将CGFloat存储/检索为子类UIImageView的属性?我可以设置它的价值,但当我检索它时,它是腐败的。NSString属性可以正常工作。
.h
@property CGFloat myFloat;.m
[sender setMyFloat:someFloat];
[sender myFloat]; //<- corrupt? *********更新***********
我想感谢你所有的建议,它们都是正确的。我的问题比我想象的要复杂。发送者是一个附加在我遇到问题的UIImageview上的UIImageview。UIPanGestureRecognizer调用选择器move:(Id)发件人,这就是我的问题所在。
在移动中:我可以成功地执行:
[[sender view] setMyString:@"test"];然后用
[[sender view] myString];但是,如果不包含(id)self,则根本无法设置或检索任何浮动属性。例如:
[[sender view] setMyString:@"test"]; //->works
[[sender view] setMyFloat:1.0f]; //->does not work但这样做是可行的:
[[[sender view]self] setMyFloat:1.0f]; //->works这是奇怪的地方,让我相信我是有铸造问题,我的浮子!我有几个NSString属性,它们返回得很好,但是CGFloats不会。有人能向我解释一下为什么我在字符串上取得了成功,但浮子却在这里迷路了吗?
发布于 2011-11-17 18:04:19
答案2: NSLog语法?
如何在设置值后验证该值?如果您正在使用NSLog,请确保您有正确的浮点格式代码(例如,NSLog(@"new float value = %f", myFloat) )。
原文答案:错误的设置者(有问题的错误)
您调用了错误的setter方法。正确的设置者是:
`[sender setMyFloat:someFloat]`编辑: OP已经更新了他的问题以删除错误。
发布于 2011-11-17 18:21:28
试试这个:
.h:
@interface SomeClass : UIImageView {
CGFloat _someFloat;
}
@property (nonatomic) CGFloat someFloat;
@end
.m:
@implementation SomeClass
@synthesize someFloat = _someFloat;
...
...
...
@end发布于 2011-11-17 18:06:37
您应该在您的@synthesize myFloat中编写.m,以便为ivar创建getter/setter
https://stackoverflow.com/questions/8171962
复制相似问题