2009-10-03 54 views
1

我試圖檢索確定NSProgressIndicator的值(它有多遠)。 我已經試過......檢索NSProgressIndicator的值

NSInteger *bValue = [progressIndicator doubleValue]; 

但它給出了一個錯誤說Incompatible types in initialization。 那麼如何檢索進度指示器的值?

回答

3

NSInteger不是對象類型,它僅僅是對一個typedef一個intlong(取決於你的應用程序是否是32位或64位):

#if __LP64__ || TARGET_OS_EMBEDDED || TARGET_OS_IPHONE || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64 
typedef long NSInteger; 
#else 
typedef int NSInteger; 
#endif 

(從docs

NSInteger bValue = [progressIndicator doubleValue]; 

因爲你是十二月您收到一個錯誤:

因此,你可以把它寫將bValue作爲指針更改爲NSInteger,但試圖用雙精度值初始化它。

+0

啊,我知道爲什麼我會得到錯誤。那麼我應該怎麼做,而不是NSInteger? – Joshua 2009-10-03 11:16:37

+0

如果你願意,你可以把它保留爲'NSInteger',你只需要省略*。它取決於你想要的精度級別 - 如果你只需要知道進度指示器的整數值,可以使用'NSInteger'。如果您想要更高的精度,請使用'float'或'double'。 – 2009-10-03 11:26:09

+0

我不需要那麼精確,所以'NSInteger'應該沒問題。謝謝! – Joshua 2009-10-03 11:32:19