作为一名初学的Objective-C开发人员,并没有耐心去实际学习,而不仅仅是潜入事物,我遇到了以下内容:
我有一个CGFloat,我想用它来划分它,并将结果用作NSInteger。
示例:
CGPoint p = scrollView.contentOffset; //where p is a CGFloat by nature
NSInteger * myIndex = p.x/468.0;
编译时,我收到错误:“初始化中的类型不兼容”。 我猜这是因为CGFloat和NSInteger之间的不匹配。
离开这个我应该知道什么?很抱歉打扰你。
答案 0 :(得分:7)
两个问题。您正在使用NSInteger指针(NSInteger * myIndex)。你需要一个演员从浮动到整数。像这样:
NSInteger myIndex = (int)(p.x / 468.0);
答案 1 :(得分:4)
NSInteger不是实际的对象类型。它是原始整数类型的typedef。删除*,你的例子应该工作。就像现在一样,你试图将数学结果指定为指针,然后你就会收到错误信息。