У меня есть проект с target-c и swift.Все правильно подключено, поэтому я могу без проблем вызывать расширения на классах.В этом случае, однако, я должен передать аргумент расширению, и я зациклен на синтаксисе.
Вот расширение Swift 3
extension Double {
/// Rounds the double to decimal places value
func rounded(toPlaces places:Int) -> Double {
let divisor = pow(10.0, Double(places))
return (self * divisor).rounded() / divisor
}
}
Из Swift вы можете вызватьэто с
let x = Double(0.123456789).rounded(toPlaces: 4)
В Objective-C не работает следующее: я поиграл с этим, но не могу получить правильный синтаксис:
double test = 0.123456789;
double roundedtot = test.roundedToPlaces:2;
Конкретная ошибка
'Базовый тип ссылки на элемент' double 'не является структурой или объединением'
, который я собираю, является ошибкой переменного тока, но, поскольку вы можете вызывать функцию в swift, кажется, что она существуетдолжен быть способ назвать это в Objc-C