¿Dónde puedo encontrar las "bibliotecas matemáticas, cadenas, etc …" para Swift?

Estoy viendo la documentation de Swift, pero no puedo encontrar references a lo que hay en otros idiomas …

Ejemplos: sin() , cos() , abs() para matemáticas, uppercase() , lowercase() para cadenas, sort() , pop() , push() para matrices, etc.

Para las cadenas he encontrado esto en los documentos :

El tipo de cadena de Swift se conecta a la perfección con la class NSString de Foundation. Si está trabajando con el framework Foundation en Cocoa o Cocoa Touch, toda la API de NSString está disponible para invocar cualquier valor de cadena que cree, además de las características de cadena descritas en este capítulo. También puede usar un valor de cadena con cualquier API que requiera una instancia de NSString.

¿Podría apuntarme a algún documento o dónde puedo encontrar esas funciones?

Parece que esto está funcionando …

 import Foundation var theCosOfZero: Double = Double(cos(0)) // theCosOfZero equals 1 

sin() , cos() , abs() son methods C definidos en math.h https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man3/math.3.html

"str".uppercaseString() y "str".lowercaseString() son methods NSString.

sort() es parte de Swift Standard Library, documentado en https://developer.apple.com/documentation/swift/array/1688499-sort

Array.append() y Array.removeLast() también se definen en la Biblioteca estándar Swift, documentada en https://developer.apple.com/documentation/swift/array

Las funciones matemáticas están definidas en el module Darwin , por lo que, como mínimo, debe agregar esto:

 import Darwin 

En la mayoría de los casos, la import Foundation o la import Cocoa serán suficientes, ya que esos modules importan el module Darwin . Si necesita acceso a constantes como M_PI o similar, navegue con cmd + click el module Darwin y en Darwin.C . Aquí encontrará las importaciones de API C y Darwin.C.math entre ellas. De esta forma, puede examinar lo que está disponible, ya convertido a Swift. Sin embargo, toda esa API C está disponible con import Darwin .

No puede emitir import Darwin.C.math directamente, porque verá el siguiente error de time de ejecución (o similar si no está en el patio):

 Playground execution failed: Error in auto-import: failed to get module 'math' from AST context 

Ejemplo de código del patio:

 import Darwin func degToRad(degrees: Double) -> Double { // M_PI is defined in Darwin.C.math return M_PI * 2.0 * degrees / 360.0 } for deg in 0..<360 { sin(degToRad(Double(deg))) }