Swift #28: Foundation
Source: Dev.to
Algunas funciones de la biblioteca Foundation
| Función | Descripción |
|---|---|
pow(_:_:) | Calcula la operación de potenciación con una base Double y un exponente Double. Retorna Double. |
sqrt(_:) | Calcula la raíz cuadrada del argumento Double. Retorna Double. |
log(_:) | Calcula el logaritmo natural de un valor Double. Hay variantes como log2(_:) y log10(_:). |
sin(_:) | Retorna el seno de un valor Double. Variantes: asin(_:), sinh(_:), asinh(_:). |
cos(_:) | Retorna el coseno de un valor Double. Variantes: acos(_:), cosh(_:), acosh(_:). |
tan(_:) | Retorna la tangente de un valor Double. Variantes: atan(_:), tanh(_:), atanh(_:). |
NSString
import Foundation
let text0: String = "Hola"
let text1: NSString = NSString(string: text0)
print(text1) // "Hola"
let text2: NSString = text0 as NSString
print(text2) // "Hola"
Propiedades y métodos útiles
capitalized: Retorna un string con la primera letra de cada palabra en mayúscula.length: Retorna el número de caracteres.localizedStringWithFormat(_:_:): Crea un string a partir del primer argumento (plantilla) y los valores provistos en el segundo argumento variádico.contains(_:): Retornatruesi el argumento forma parte del string original.localizedStandardContains(_:): Retornatrueconsiderando reglas de idioma (locale).components(separatedBy:): Divide el string usando el argumento como separador y retorna un arreglo con las partes.replacingOccurrences(of:with:): Retorna un nuevo string reemplazando todas las ocurrencias deof:conwith:.trimmingCharacters(in:): Elimina los caracteres indicados enin:al principio y al final del string. El argumento más común eswhitespaces.
Ejemplos de localizedStringWithFormat
let number = 44
let result1 = String.localizedStringWithFormat("Numero: %d", number)
print(result1) // "Numero: 44"
let pi = 3.14159
let lives = 7
let result2 = String.localizedStringWithFormat("Pi: %.2f", pi)
print(result2) // "Pi: 3.14"
let result3 = String.localizedStringWithFormat("Vidas: %.3d", lives)
print(result3) // "Vidas: 007"
Nota: La estructura
Stringtrabaja con caracteres Unicode, mientras queNSStringusa la codificación UTF‑16.
NSNumber
| Propiedad / Método | Descripción |
|---|---|
init(value:) | Crea un NSNumber con el valor especificado. |
doubleValue | Obtiene el valor Double del NSNumber. |
intValue | Obtiene el valor Int del NSNumber. |
formatted(_:) | Formatea un valor usando un FormatStyle. Para números existen IntegerFormatStyle y FloatingPointFormatStyle. |
FormatStyle
precision(_:)integerAndFractionLength(integerLimits:fractionLimits:)rounded(rule:increment:)grouping(_:)sign(strategy:)decimalSeparator(strategy:).percentcurrency(code:)
Ejemplo de uso
let result = (3.14159)
.formatted(
.number
.precision(.fractionLength(2))
)
print(result) // 3.14
Date
Hay varias clases para crear y procesar fechas:
Constructores de Date
-
Date()– Fecha y hora actual.let now = Date() -
Date(timeIntervalSinceNow:)– Fecha y hora relativa al momento actual con un corrimiento en segundos.let fiveMinutesLater = Date(timeIntervalSinceNow: 5 * 60) -
Date(timeInterval:since:)– Crea una fecha con respecto a otra, con un corrimiento en segundos.let reference = Date() let tenSecondsLater = Date(timeInterval: 10, since: reference) -
Date(timeIntervalSinceReferenceDate:)– Crea una fecha con respecto a 00:00:00 UTC del 1 de enero de 2001, con un corrimiento en segundos.let referenceDate = Date(timeIntervalSinceReferenceDate: 0) // 2001‑01‑01 00:00:00 UTC let oneDayLater = Date(timeIntervalSinceReferenceDate: 86_400) // 1 día después