Swift #28:Foundation

发布: (2026年1月3日 GMT+8 04:43)
3 min read
原文: Dev.to

Source: Dev.to

请提供您希望翻译的具体文本内容(除代码块和 URL 之外),我将把它翻译成简体中文并保持原有的格式、Markdown 语法和技术术语不变。谢谢!

Foundation 库的一些函数

函数描述
pow(_:_:)计算底数为 Double、指数为 Double 的幂运算。返回 Double
sqrt(_:)计算 Double 参数的平方根。返回 Double
log(_:)计算 Double 值的自然对数。还有 log2(_:)log10(_:) 等变体。
sin(_:)返回 Double 值的正弦。变体:asin(_:)sinh(_:)asinh(_:)
cos(_:)返回 Double 值的余弦。变体:acos(_:)cosh(_:)acosh(_:)
tan(_:)返回 Double 值的正切。变体:atan(_:)tanh(_:)atanh(_:)

Source:

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"

常用属性和方法

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"

注意: String 结构使用 Unicode 字符,而 NSString 使用 UTF‑16 编码。

NSNumber

属性 / 方法描述
init(value:)使用指定的值创建一个 NSNumber
doubleValue获取 NSNumberDouble 值。
intValue获取 NSNumberInt 值。
formatted(_:)使用 FormatStyle 对值进行格式化。对于数字,有 IntegerFormatStyleFloatingPointFormatStyle

FormatStyle

使用示例

let result = (3.14159)
    .formatted(
        .number
        .precision(.fractionLength(2))
    )
print(result) // 3.14

Date

有多个类用于创建和处理日期:

Date 构造函数

  • Date() – 当前日期和时间。

    let now = Date()
  • Date(timeIntervalSinceNow:) – 相对于当前时刻的日期和时间,使用秒数偏移。

    let fiveMinutesLater = Date(timeIntervalSinceNow: 5 * 60)
  • Date(timeInterval:since:) – 基于另一日期创建,使用秒数偏移。

    let reference = Date()
    let tenSecondsLater = Date(timeInterval: 10, since: reference)
  • Date(timeIntervalSinceReferenceDate:) – 基于 2001 年 1 月 1 日 00:00:00 UTC 创建日期,使用秒数偏移。

    let referenceDate = Date(timeIntervalSinceReferenceDate: 0)   // 2001‑01‑01 00:00:00 UTC
    let oneDayLater = Date(timeIntervalSinceReferenceDate: 86_400) // 1 天之后
Back to Blog

相关文章

阅读更多 »

Combine #13:资源管理

share 和 multicast_: share 大多数 Combine 的 Publisher 是 struct,只是描述一个 pipeline,而不保存共享状态。不会创建一个 i...

SwiftUI 焦点系统 & 键盘内部

!Sebastien Lato https://media2.dev.to/dynamic/image/width=50,height=50,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads...