2010-02-04 48 views
0
NSDecimalNumber *lat = [[NSDecimalNumber alloc]initWithDouble:sqlite3_column_double(selectStatement, 1)]; 
    [latt addObject:lat]; 
        [lat release]; 

CLLocationCoordinate2D annot; 
      annot.latitude = [[latt objectAtIndex:k]doubleValue]; 

上述2個代碼示出了從陣列的創建和雙精度值的檢索。我在數據庫中存儲了一些double類型的值。我檢索它們並將它們存儲在一個數組中。我在那裏沒有遇到任何問題。獲得雙值超出陣列的,iphone

但是,當我試圖讓他們離開數組,如第二個,我得到一個警告,paasing參數1如果'objectAtIndex'使整數指針沒有轉換。可能是什麼問題?

此外,當我嘗試將存儲在數組中的無符號整數作爲NSNumber分配給一個無符號整數變量時,'m得到一個警告assignmentmakes指針從整型沒有轉換。這些警告指向什麼?

[back addObject:[NSNumber numberWithUnsignedInt:12]]; 
    k = [[back objectAtIndex:0]unsignedIntegerValue]; 
+1

請發表您如何定義'k'。 – 2010-02-04 06:14:10

+0

NSUInteger * k;在頭文件中,全局聲明 – Nithin 2010-02-04 06:31:06

回答

4

定義k作爲NSUInteger:

NSUInteger k; 
+0

是啊... k是一個NSUInteger – Nithin 2010-02-04 06:24:31

+0

你把它聲明爲一個NSUInteger _pointer_。它應該只是一個NSUInteger。 – gerry3 2010-02-04 07:10:39

+0

哦!,愚蠢的錯誤,謝謝你... – Nithin 2010-02-05 03:12:31