![](/img/trans.png)
[英][NSConcreteValue floatValue]: unrecognized selector sent to instance
[英]-[__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.