首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CGFloat属性

CGFloat属性
EN

Stack Overflow用户
提问于 2011-11-17 17:56:35
回答 3查看 7.7K关注 0票数 5

如何将CGFloat存储/检索为子类UIImageView的属性?我可以设置它的价值,但当我检索它时,它是腐败的。NSString属性可以正常工作。

.h

代码语言:javascript
复制
@property CGFloat myFloat;

.m

代码语言:javascript
复制
[sender setMyFloat:someFloat];
[sender myFloat];  //<- corrupt? 

*********更新***********

我想感谢你所有的建议,它们都是正确的。我的问题比我想象的要复杂。发送者是一个附加在我遇到问题的UIImageview上的UIImageview。UIPanGestureRecognizer调用选择器move:(Id)发件人,这就是我的问题所在。

在移动中:我可以成功地执行:

代码语言:javascript
复制
[[sender view] setMyString:@"test"];

然后用

代码语言:javascript
复制
[[sender view] myString];

但是,如果不包含(id)self,则根本无法设置或检索任何浮动属性。例如:

代码语言:javascript
复制
[[sender view] setMyString:@"test"]; //->works

[[sender view] setMyFloat:1.0f]; //->does not work

但这样做是可行的:

代码语言:javascript
复制
[[[sender view]self] setMyFloat:1.0f]; //->works

这是奇怪的地方,让我相信我是有铸造问题,我的浮子!我有几个NSString属性,它们返回得很好,但是CGFloats不会。有人能向我解释一下为什么我在字符串上取得了成功,但浮子却在这里迷路了吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-11-17 18:04:19

答案2: NSLog语法?

如何在设置值后验证该值?如果您正在使用NSLog,请确保您有正确的浮点格式代码(例如,NSLog(@"new float value = %f", myFloat) )。

原文答案:错误的设置者(有问题的错误)

您调用了错误的setter方法。正确的设置者是:

代码语言:javascript
复制
`[sender setMyFloat:someFloat]`

编辑: OP已经更新了他的问题以删除错误。

票数 3
EN

Stack Overflow用户

发布于 2011-11-17 18:21:28

试试这个:

代码语言:javascript
复制
.h:

@interface SomeClass : UIImageView {
    CGFloat _someFloat;
}

@property (nonatomic) CGFloat someFloat;

@end

.m:

@implementation SomeClass
@synthesize someFloat = _someFloat;
...
...
...
@end
票数 2
EN

Stack Overflow用户

发布于 2011-11-17 18:06:37

您应该在您的@synthesize myFloat中编写.m,以便为ivar创建getter/setter

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8171962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档