加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

iphone – CGFloat作为财产

发布时间:2020-12-14 17:56:08 所属栏目:百科 来源:网络整理
导读:如何将CGFloat存储/检索为子类UI ImageView的属性?我可以设置它的值,但是当我检索它时,它就是腐败的. NSString属性工作正常. .H @property CGFloat myFloat; .M [sender setMyFloat:someFloat];[sender myFloat]; //- corrupt? *********更新*********** 我
如何将CGFloat存储/检索为子类UI ImageView的属性?我可以设置它的值,但是当我检索它时,它就是腐败的. NSString属性工作正常.

.H

@property CGFloat myFloat;

.M

[sender setMyFloat:someFloat];
[sender myFloat];  //<- corrupt?

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

我想感谢你们所有的建议,他们都是正确的.我的问题比我想象的要复杂得多.发件人是UIPanGestureRecognizer附加到UIImageview我遇到了问题. UIPanGestureRecognizer调用选择器move:(id)sender,这就是我的问题所在.

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

[[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不会.有人可以向我解释为什么不知何故我用字符串取得了成功但浮动在这里丢失了吗?

解决方法

答案#2:NSLog语法?

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

原始答案:错误的二传手(有问题的拼写错误)

你正在调用错误的setter方法.正确的二传手是:

`[sender setMyFloat:someFloat]`

编辑:OP已更新他的问题,以删除拼写错误

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读