簡體   English   中英

在Objective-C中轉換類型

[英]Converting between types in Objective-C

作為一名初學的Objective-C開發人員,並沒有耐心去實際學習,而不僅僅是潛入事物,我遇到了以下問題:

我有一個CGFloat,我想用它來划分它,並將結果用作NSInteger。

例:

CGPoint p = scrollView.contentOffset; //where p is a CGFloat by nature
NSInteger * myIndex = p.x/468.0;

在編譯時,我收到錯誤:“初始化中的不兼容類型”。 我猜這是因為CGFloat和NSInteger之間的不匹配。

我應該知道什么才能擺脫這種局面? 對不起,打擾你。

兩個問題。 您正在使用NSInteger指針(NSInteger * myIndex)。 你需要一個演員從浮動到整數。 像這樣:

NSInteger myIndex = (int)(p.x / 468.0);

NSInteger不是實際的對象類型。 它是原始整數類型的typedef。 刪除*,你的例子應該工作。 就像現在一樣,您正在嘗試將數學結果指定為指針,並且您正在收到該錯誤消息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM