戴铭
戴铭
 使用方法如下: ```swift struct PlayTextFieldView: View { @State private var t = "Starming" @State private var showT = "" @State private var isEditing = false var placeholder = "输入些文字..." @FocusState...
 对应的代码如下: ```swift import SwiftUI import CodeEditorView struct PlayTextEditorView: View { // for TextEditor @State private var txt: String = "一段可编辑文字...\n" @State private var count: Int = 0 // for...
 ```swift struct PlayLabelView: View { var body: some View { VStack(spacing: 10) { Label("一个 Label", systemImage: "bolt.circle") Label("只显示 icon", systemImage: "heart.fill") .labelStyle(.iconOnly) .foregroundColor(.red) // 自建 Label Label { Text("自建...
将 NSSplitView 里的其中一个 NSView 设置为全屏和退出全屏的函数如下: ```swift // MARK: - 获取 NSSplitViewController func splitVC() -> NSSplitViewController { return ((NSApp.keyWindow?.contentView?.subviews.first?.subviews.first?.subviews.first as? NSSplitView)?.delegate as? NSSplitViewController)! } // MARK: - 全屏 func fullScreen(isEnter: Bool)...
使用方法如下: ```swift struct PlayLinkView: View { @Environment(\.openURL) var openURL var aStr: AttributedString { var a = AttributedString("戴铭的博客") a.link = URL(string: "https://ming1016.github.io/") return a } var body: some View { VStack...
*Swift 1.1* * countElements() 改成了 count()。 * @NSApplicationMain 可以在 macOS 上使用。 *Swift 1.2* * 引入 Set 类型。 * if let 可以放到一起,使用逗号分隔。 * 新增 zip() 和 flatMap()。 * 类增加静态方法和静态属性,使用 static 关键字描述。...
结果生成器(Result builders),通过传递序列创建新值,SwiftUI就是使用的结果生成器将多个视图生成一个视图 ```swift @resultBuilder struct RBS { // 基本闭包支持 static func buildBlock(_ components: Int...) -> Int { components.reduce(0) { partialResult, i in partialResult + i } } // 支持条件判断 static...
@dynamicCallable 动态可调用类型。通过实现 dynamicallyCall 方法来定义变参的处理。 ```swift @dynamicCallable struct D { // 带参数说明 func dynamicallyCall(withKeywordArguments args: KeyValuePairs) -> Int { let firstArg = args.first?.value ?? 0 return firstArg * 2 } //...
Result 类型用来处理错误,特别适用异步接口的错误处理。 ```swift extension URLSession { func dataTaskWithResult( with url: URL, handler: @escaping (Result) -> Void ) -> URLSessionDataTask { dataTask(with: url) { data, _, err in if let err...
```swift struct H: Hashable { var p1: String var p2: Int // 提供随机 seed func hash(into hasher: inout Hasher) { hasher.combine(p1) } } let h1 = H(p1: "one", p2: 1)...