Предполагая, что ICEDouble
от typedef'd до `double ', похоже, что метод, который вы вызываете, имеет два параметра out Это следует называть так:
double lat, long;
[prx getPosition:SyDRpcInterfaceMAPMATCHED longitude:&long latitude:&lat];
Это распространенная идиома, когда метод должен возвращать несколько значений без дополнительных затрат на объект. При необходимости вы можете преобразовать их в NSNumber
с, если они вам нужны, через:
NSNumber * nLatitude = [NSNumber numberWithDouble:lat];
NSNumber * nLongitude = [NSNumber numberWithDouble:long];
Проверьте тип возврата getPosition:
. Если он возвращает BOOL
, вы захотите проверить результат, прежде чем использовать возвращенные значения. В противном случае lat
и long
будут представлять значения мусора.