You are caught in the Key-Value Coding trap.
In some cases the result of valueForKey
is an array which the error message clearly states.
Don't Never use valueForKey
(unless you know what KVC does and you need KVC), use key subscription.
And as settings
is an array you might get the first item
NSNumber *dbversion = settings[0][@"Version"];
and int
is not long
long dbver = [dbversion longValue];
However on a 64-bit machine I recommend to use NSInteger
NSInteger dbver = dbversion.integerValue;
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…