小编Cha*_*ish的帖子

如何旋转UIImageView

我有一个UIImageView,它是星星的图像。问题是我希望恒星在移动时旋转。如何旋转UIImageView使其看起来像在旋转3秒钟。我希望它旋转720度。

iphone xcode rotation uiimageview spinning

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

Xcode UI 测试发现多个按钮

我遇到了一个问题,我的 UI 测试显示在使用以下代码时找到了多个按钮。

app.buttons["Upgrade"].tap()
Run Code Online (Sandbox Code Playgroud)

所以我重新运行我的单元测试并在运行该行之前设置一个断点并点击记录按钮并单击该按钮并生成以下代码。

app.children(matching: .window).element(boundBy: 0).children(matching: .other).element(boundBy: 1).buttons["Upgrade"].tap()
Run Code Online (Sandbox Code Playgroud)

当然在测试的顶部我有let app = XCUIApplication()

知道为什么会发生这种情况吗?

有时p UIApplication.shared.windows在调试器中运行时,数组中有 2 个值。我不知道为什么,因为我从来没有多个窗口。我与 Windows 的唯一交互UIApplication.shared.keyWindow?.rootViewController有时是设置为不同的视图控制器,以下代码在didFinishLaunchingWithOptions.

// Get view controllers ready
self.window = UIWindow(frame: UIScreen.main.bounds)
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let mainViewController: ViewController = mainStoryboard.instantiateViewController(withIdentifier: "FirstView") as! ViewController
// Show view controller
self.window?.rootViewController = mainViewController
self.window?.makeKeyAndVisible()
Run Code Online (Sandbox Code Playgroud)

那是在 if 语句和 else 语句中,我有几乎相同的代码,除了FirstView它是SecondView.

xcode ios swift xcode-ui-testing

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

使用具有多个键的可解码协议

假设我有以下代码:

import Foundation

let jsonData = """
[
    {"firstname": "Tom", "lastname": "Smith", "age": {"realage": "28"}},
    {"firstname": "Bob", "lastname": "Smith", "age": {"fakeage": "31"}}
]
""".data(using: .utf8)!

struct Person: Codable {
    let firstName, lastName: String
    let age: String?

    enum CodingKeys : String, CodingKey {
        case firstName = "firstname"
        case lastName = "lastname"
        case age
    }
}

let decoded = try JSONDecoder().decode([Person].self, from: jsonData)
print(decoded)
Run Code Online (Sandbox Code Playgroud)

一切都在工作,除了age总是nil。这是有道理的。我的问题是如何在第一个示例和第二个示例中设置人的年龄 =realage或。取而代之的是在这两种情况下,我想这是在第一种情况。28nilagenil28

有没有办法只使用CodingKeys而不必添加另一个结构或类来实现这一点?如果不是,我如何使用另一个结构或类以最简单的方式实现我想要的?

json swift swift4 codable

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

捕获AWS S3获取对象流错误Node.js

我正在尝试构建一个Express服务器,该服务器将使用Node.js和Express将S3存储桶中的项目发送到客户端。

我在AWS文档中找到以下代码。

var s3 = new AWS.S3({apiVersion: '2006-03-01'});
var params = {Bucket: 'myBucket', Key: 'myImageFile.jpg'};
var file = require('fs').createWriteStream('/path/to/file.jpg');
s3.getObject(params).createReadStream().pipe(file);
Run Code Online (Sandbox Code Playgroud)

我对以下内容做了些微更改:

app.get("/", (req, res) => {
    const params = {
        Bucket: env.s3ImageBucket,
        Key: "images/profile/abc"
    };
    s3.getObject(params).createReadStream().pipe(res);
});
Run Code Online (Sandbox Code Playgroud)

我相信这应该很好。我遇到的问题是文件不存在或S3返回某种类型的错误。应用程序崩溃,出现以下错误:

NoSuchKey:指定的密钥不存在

我的问题是,如何捕捉或处理此错误?我尝试了一些操作,例如将该s3.getObject行包装在try / catch块中,但所有这些都没有用。

如何捕捉错误并以自己的方式处理?

javascript amazon-s3 amazon-web-services node.js express

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

Xcode 8 生成 .strings 文件

我正在尝试设置我的 Xcode 项目,以生成我相信我想要翻译成的每种语言的 XLIFF,以发送到翻译服务以翻译我的应用程序。我正在尝试遵循本教程,但我仍然在努力。

当添加要翻译成故事板的语言时,创建了一个 .strings 文件,并从故事板中取出所有文本并将其放入 .strings 文件中,并自动完成这一切。

现在我正在尝试让它适用于我的 Swift 文件中的字符串。例如,我将其更改"Error"NSLocalizedString("error", tableName: nil, bundle: Bundle.main, value: "Error", comment: "Error Alert Controller Title")我的代码。

问题是它不会.strings像故事板那样创建任何文件。因此,当它尝试访问时,Editor > Export For Localization它会给我一个错误提示Localization failed to read a strings file

有想法该怎么解决这个吗?我假设我可以手动创建.strings文件,但这似乎是一个巨大的痛苦,并且似乎应该有一种更简单的方法。

xcode localization internationalization ios swift

0
推荐指数
1
解决办法
2161
查看次数