2010-02-04 45 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