小编jos*_*ell的帖子

catch 内的错误对象的类型未知

我有以下代码:

try {
  phpDoc(vscode.window.activeTextEditor);
} catch (err) {
  console.error(err);
  vscode.window.showErrorMessage(err.message);
}
Run Code Online (Sandbox Code Playgroud)

但是在 上err.message出现错误,但我无法在 中键入对象。Object is of type 'unknown'.ts(2571)err.catch (err: Error)

我应该怎么办?

try-catch typescript

95
推荐指数
4
解决办法
7万
查看次数

SwiftUI UIHostingController 导航标题动画损坏

当我使用 UIHostingController 将新的 SwiftUI.View 推送到现有 UIKit UIViewController 的导航堆栈时,导航栏中标题的动画被破坏。我在 Xcode 12.0 中在一个全新的项目上进行了测试。

仔细观察标题“UIHostingController”。您可以看到该动画与普通的推送动画有何不同,它只是凭空“出现”,看起来很破碎。第二个动画已经从 SwiftUI.NavigationLink 中发生,看起来不错。

如果您想尝试一下,这里是示例项目的链接: https://www.dropbox.com/s/mjkuzhpsb6yvlir/HostingControllerTest.zip ?dl=0

请参阅此 GIF 图像:(如果您看不到 GIF 动画,请在另一个浏览器选项卡中打开)

这是背后的代码:

class ViewController: UIViewController {
    private let button = UIButton(frame: .zero)

    override func viewDidLoad() {
        super.viewDidLoad()
        self.title = "UIHostingController Title Test"
        self.view.backgroundColor = UIColor.white
        
        self.view.addSubview(self.button)
        button.translatesAutoresizingMaskIntoConstraints = false
        button.setTitle("Push UIHostingController", for: .normal)
        button.addTarget(self, action: #selector(Self.pushVC), for: .touchUpInside)
        button.setTitleColor(.blue, for: .normal)
        
        NSLayoutConstraint.activate([
            button.centerXAnchor.constraint(equalTo: self.view.centerXAnchor),
            button.centerYAnchor.constraint(equalTo: self.view.centerYAnchor),
            button.widthAnchor.constraint(equalTo: self.view.widthAnchor),
            button.heightAnchor.constraint(equalToConstant: 50)
        ])
    }
    
    @objc private func pushVC() {
        let vc …
Run Code Online (Sandbox Code Playgroud)

xcode ios swift swiftui uihostingcontroller

7
推荐指数
1
解决办法
2452
查看次数

如何禁用 NavigationStack 推送动画

我希望视图立即出现。而不是默认的 iOS 推送动画。

此方法用于NavigationView与+一起使用NavigationLink。iOS 16 已弃用NavigationView

enum Nav {
    case a
}

struct ContentView: View {
    @State var nav: [Nav] = []
    
    var body: some View {
        NavigationStack(path: $nav) {
            Button {
                var transaction = Transaction()
                transaction.disablesAnimations = true
                withTransaction(transaction) {
                    nav = [.a] // Doesn't work. Still animates
                }
            } label: {
                Text("Go to a")
            }
                .navigationDestination(for: Nav.self) { path in
                    switch path {
                    case .a:
                        Text("a")
                    }
                }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

navigation swiftui

6
推荐指数
1
解决办法
1218
查看次数

AWS Lambda:如何将数字添加到Dynamodb中的NS集

问题

我尝试了几种方法,但未能找到如何将数字添加到NS集.这都是在lambda函数中运行的.

我正在努力实现的目标

我正在创建一个dynamodb表,其中十六进制中的不同颜色与一组id对齐.我正在优化表以进行快速读取并避免重复,这就是为什么我想为每个十六进制维护一组id.

我是如何向表中添加项目的:

let doc = require('dynamodb-doc');
let dynamo = new doc.DynamoDB();

var object = {
    'TableName': 'Hex',
    'Item': {
        'hex': '#FEFEFE',
        'ids': {
            'NS': [2,3,4]
        }
    }
}

dynamo.putItem(object, callback);
Run Code Online (Sandbox Code Playgroud)

结果如何

添加到表后的结果

然后我尝试在集合中添加更多ID

使用Dynamodb更新项目文档标准

var params = {
    "TableName" : "Hex",
    "Key": {
      "hex": "#FEFEFE"
    },
    "UpdateExpression" : "ADD #oldIds :newIds",
    "ExpressionAttributeNames" : {
      "#oldIds" : "ids"
    },
    "ExpressionAttributeValues": { 
      ":newIds" : {"NS": ["5", "6"]}
   },
};

dynamo.updateItem(params, callback);
Run Code Online (Sandbox Code Playgroud)

这会返回以下错误,因此dynamo认为:newIds是一个地图类型而不是一个集合(?)

"errorMessage": "Invalid UpdateExpression: Incorrect operand type …
Run Code Online (Sandbox Code Playgroud)

javascript set amazon-web-services amazon-dynamodb aws-lambda

5
推荐指数
2
解决办法
2295
查看次数

SwiftUI TabView 动画

我的应用程序目前面临 pb 问题。我想对由 SwiftUI TabView 控制的项目的插入和删除进行动画处理。

这是重现问题的简单视图

struct ContentView: View {
    @State private var selection: Int = 1
    var body: some View {
        TabView(selection: $selection.animation(),
                content:  {
                    Text("Tab Content 1")
                        .transition(.slide) //could be anything this is for example
                        .tabItem { Text("tab1") }.tag(1)
                        .onAppear() {print("testApp")}
                        .onDisappear(){print("testDis")}
                    Text("Tab Content 2")
                        .transition(.slide)
                        .tabItem { Text("tab2") }.tag(2)
                })
       
    }
}
Run Code Online (Sandbox Code Playgroud)

当点击 tabItem 时,它会立即从“选项卡内容 1”切换到“选项卡内容 2”,我想为其设置动画(而不是选项卡项按钮实际的选项卡内容)。和被按预期调用onAppearonDisapear因此所有转换都应该被触发。

如果有人有想法开始合作,我会很高兴

谢谢

swift swiftui ios14

3
推荐指数
1
解决办法
3330
查看次数