在Objective-C中转换类型

3 iphone floating-point integer type-conversion

作为一名初学的Objective-C开发人员,并没有耐心去实际学习,而不仅仅是潜入事物,我遇到了以下问题:

我有一个CGFloat,我想用它来划分它,并将结果用作NSInteger.

例:

CGPoint p = scrollView.contentOffset; //where p is a CGFloat by nature
NSInteger * myIndex = p.x/468.0;
Run Code Online (Sandbox Code Playgroud)

在编译时,我收到错误:"初始化中的不兼容类型".我猜这是因为CGFloat和NSInteger之间的不匹配.

我应该知道什么才能摆脱这种局面?对不起,打扰你.

Dav*_*vid 7

两个问题.您正在使用NSInteger指针(NSInteger*myIndex).你需要一个演员从浮动到整数.像这样:

NSInteger myIndex = (int)(p.x / 468.0);
Run Code Online (Sandbox Code Playgroud)