簡體   English   中英

-[__NSSingleObjectArrayI floatValue]:無法識別的選擇器發送到實例

[英]-[__NSSingleObjectArrayI floatValue]: unrecognized selector sent to instance

以下是我的回應

geolocation =         {
        loc =             {
            lat = "22.4409980000000004451976565178";
            long = "70.0686230000000023210304789245";
        };
    };  

當我嘗試以下代碼時,我的應用程序崩潰:

NSNumber* n = [userPin valueForKeyPath:@"geolocation.loc.lat"];
NSLog(@"num is class %@", NSStringFromClass([n class]));
float fCost = [n floatValue];  

當我打印我的NSStringFromClass時,我得到__NSSingleObjectArrayI

任何建議如何解決這個問題?

猜測userPin的(運行時)類型是數組,它包含一個元素。 當應用於valueForKey:數組時, valueForKeyPath:是基於該數組的,它返回一個通過將自身應用於數組的每個元素而生成的數組。

如果是這種情況,要么在調用之前索引userPin ,要么處理調用產生的數組。

附錄

你能給我舉個例子嗎?

簡單的例子:

// An array of strings
NSArray *test = @[ @"The", @"quick", @"brown", @"fox"];
// Trivial keypath...
NSArray *result = [test valueForKeyPath:@"length"];
// Print
NSLog(@"%@", result);

產生:

(
    3,
    5,
    5,
    3
)

顯示result是將length應用於`test的每個元素的結果的數組。 高溫高壓

暫無
暫無

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

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