---
title: william-weng/wwclampedvalue
framework: Swift Package Catalog
role: article
path: packages/william-weng/wwclampedvalue
---

# william-weng/wwclampedvalue

[English](./README.en.md) | [繁體中文](./README.md)

## 🚀 [特色](https://peterpanswift.github.io/iphone-bezels/)

- **型別安全**：基於泛型設計，支援 `Int`、`Double`、`Float` 等所有符合 `Comparable` 的型別。 - **語法優雅**：結合 Swift Property Wrapper 與 `ClosedRange` 語法（例如 `0...100`）。 - **底層擴充**：額外提供 `Comparable` 的 `.clamped(to:)` 擴充方法，非 Property Wrapper 情境也能直接使用。

## 📦 安裝方式 (Swift Package Manager)

在你的 Xcode 專案中，依序點選 `File` -> `Add Packages...`，並輸入本套件的 GitHub 網址：

```text https://github.com/William-Weng/WWClampedValue ```

或是將以下內容加入到你的 `Package.swift` 檔案中：

```swift dependencies: [     .package(url: "https://github.com/William-Weng/WWClampedValue", from: "1.1.0") ] ```

## 💡 使用範例

import SwiftUI import WWClampedValue

struct ContentView: View {          @WWClampedValue(0.0...1.0) var alpha = 2.0     @WWSnappedIntValue(0...100, step: 10) var score = 54     @WWSnappedFloatValue(-1...1, step: 0.1) var tolerance = 0.768          var body: some View {         VStack {             Text("score = \(score)")                 .font(.title)             Text("alpha = \(alpha)")                 .font(.title)             Text("tolerance = \(tolerance)")                 .font(.title)         }         .padding()     } }

#Preview {     ContentView() } ```

## Package Metadata

Repository: william-weng/wwclampedvalue

Default branch: main

README: README.md
