小编Arm*_*let的帖子

使用Swift的字符串中子字符串的索引

我习惯在JavaScript中这样做:

var domains = "abcde".substring(0, "abcde".indexOf("cd")) // Returns "ab"
Run Code Online (Sandbox Code Playgroud)

Swift没有这个功能,如何做类似的事情?

string substring swift

56
推荐指数
6
解决办法
7万
查看次数

逃避Swift中的反斜杠

我正在将正则表达式作为String值发送到CloudKit,它似乎不喜欢它,替换\\\.但是,一旦我从我的应用程序中获取此值,我想以原始形式重新转换它,\\而不是\.

我不知道如何在Swift中管理这种转义字符,因为我甚至无法\在我的代码中设置一个字符串,但是当从CloudKit获取它们时我仍然可以管理它们.以下是String的示例:

var onlyOneBackslash: String = valueFromCloudKit
print(onlyOneBackslash) // booking\.com
Run Code Online (Sandbox Code Playgroud)

如何逃避反斜杠转换booking\.combooking\\.com

string escaping swift

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

如何仅为64位iOS设备提交存档?

我正在尝试存档内容拦截器应用程序.因为API仅在64位上可用,所以我info.plist在应用程序中添加了这个:

<key>UIRequiredDeviceCapabilities</key>
<array>
    <string>arm64</string>
</array>
Run Code Online (Sandbox Code Playgroud)

此值仅在应用程序目标中,而不在内容阻止程序目标中.使用Xcode Organizer将我的应用程序发送到App Store时,它会返回以下消息:

ERROR ITMS-90503: "Invalid Bundle. Apps that have 'arm64' in the list of UIRequiredDeviceCapabilities in Info.plist must only contain the arm64 slice."...

我已经在网上查了一下这个错误看起来很新且没有文档,你知道我应该怎么做才能删除它吗?

64-bit xcode ios

8
推荐指数
2
解决办法
6597
查看次数

无法在 Go 代码中获取 AWS EKS 集群的 kubeconfig

我已经创建了一个 AWS EKS 集群。为了获得它的 kubeconfig,我通常aws eks update-kubeconfig --name cluster-name --region us-west-2使用 shell运行。

但是,我现在希望在 Go 中获取 kubeconfig,而无需在 shell 中运行任何东西(目标是在 Go 测试中创建并操作 EKS 集群)。我可以使用以下代码描述 EKS 集群:

package main

import (
    "fmt"

    "github.com/aws/aws-sdk-go/aws"
    "github.com/aws/aws-sdk-go/aws/session"
    "github.com/aws/aws-sdk-go/service/eks"
)

func main() {
    sess := session.Must(session.NewSession(&aws.Config{
        Region: aws.String("us-west-2"),
    }))
    eksSvc := eks.New(sess, aws.NewConfig().WithRegion("us-west-2"))


    clusterOutput, err := eksSvc.DescribeCluster(&eks.DescribeClusterInput{
        Name: aws.String("cluster-name"),
    })
    if err != nil {
        panic(err)
    }
    fmt.Printf("%#v\n", clusterOutput)
}
Run Code Online (Sandbox Code Playgroud)

在那之后,我目前不知道如何获取该集群的 kubeconfig,以便将其与 Go 客户端一起用于 Kubernetes,而无需aws eks单独使用。

到目前为止,我已经检查了 AWS 文档、AWS CLI 代码库和eksctl代码库,但都没有运气。与 …

amazon-web-services aws-sdk-go amazon-eks

6
推荐指数
2
解决办法
1655
查看次数

使用JS或jQuery扩展两个容器

我想用新版本更新容器而不替换它.例如:

Container1:

<div id="container-one">
    <p>
        <webview src="http://i.stack.imgur.com/Ed1aw.jpg"></webview>
    </p>
    <p>
       Text
    </p>
</div>
Run Code Online (Sandbox Code Playgroud)

container2的:

<div id="container-two">
    <p>
        Cool intro
        <webview src="http://i.stack.imgur.com/Ed1aw.jpg"></webview>
    </p>
    <p>
       Long text
    </p>
    <p>
       New Paragraph with text in it.
    </p>
</div>
Run Code Online (Sandbox Code Playgroud)

Container1更新:

<div id="container-one">
    <p>
        Cool intro
        <webview src="http://i.stack.imgur.com/Ed1aw.jpg"></webview>
    </p>
    <p>
       Long text
    </p>
    <p>
       New Paragraph with text in it.
    </p>
</div>
Run Code Online (Sandbox Code Playgroud)

A Container1.innerHTML = Container2.innerHTML很简单,但我不想重新加载我的webview,因此代码应检测现有div中的新div或更新内容,并在Container1中应用修改.

更新:

Container2是用户编辑的container1的新版本,因此Container2可以包含任何内容:图像,链接,新段落.

我怎样才能做到这一点 ?

javascript diff jquery innerhtml

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

在隐身模式下使用chrome.browsingData.remove()

我的扩展程序在我的后台页面中使用以下代码行删除了在Google Chrome中进行的下载:

chrome.browsingData.remove({ "since": 0 }, { "downloads": true });
Run Code Online (Sandbox Code Playgroud)

当下载处于正常窗口时,无论何时在隐身Chrome窗口中进行下载,都不会将其删除.我的扩展程序在隐身模式下激活,后台页面可以检测隐身页面中的下载何时完成,方法是:

chrome.downloads.onChanged.addListener(function(download) {
    if (download.state && download.state.current == "complete") {
        // The code here is fired even if the download has been completed in incognito mode
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法从背景页面中删除隐身窗口中的浏览数据?

javascript google-chrome google-chrome-extension

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

使用replace()取代了太多内容

我更换tg时候t后面没有字母p使用这行代码:

"tpto".replace(/(t)[^p]/g, "g");
Run Code Online (Sandbox Code Playgroud)

然而,结果是tpg,我期待tpgo.由于我不知道哪一封信会跟着t我,所以我需要一些动态但我不知道该做什么,有什么想法吗?

javascript regex replace

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

等待缓冲通道满

我一定错过了一些东西,因为我没有在网上找到这个非常基本的问题的答案.我正在使用一个能够保存三个int值的缓冲通道.

然后我使用三个goroutines来填充它,并且我想在缓冲通道已满后进行操作.

这是一个解释问题的片段:

func main() {
    // Initialization of the slice a and 0 < n < len(a) - 1.
    difs := make(chan int, 3)
    go routine(a[:n], difs)
    go routine(a[n + 1:], difs)
    go routine(a[n - 1:n + 1], difs)

    fmt.Println(<-difs) // Display the first result returned by one of the routine.
}

func routine(a []int, out chan<- int) {
    // Long computation.
    out <- result
}
Run Code Online (Sandbox Code Playgroud)

我想更新我的代码,以便fmt.Println(<-difs)显示int计算所有值的数组.我可以使用三次,<-difs但我想知道Go是否提供更清洁的东西.

go

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

从Swift中的IKImageView获取CGImageRef

我正在尝试将图像与视图关联,但Xcode会给我一个错误.这是代码:

@IBOutlet var imageView: IKImageView // Link to the image view.

func saveImage() {
    var newImage: CGImageRef = imageView.image() // Line with an error.
}
Run Code Online (Sandbox Code Playgroud)

我有一个awakeFromNib功能来在视图中设置图像.上面的代码返回给我'Unmanaged<CGImage>' is not convertible to 'CGImageRef'.

我知道Swift中的类型是可选的但是我不明白为什么我会得到这个错误,IKImageView类参考清楚地说让IKImageView的图像返回CGImageRef.

macos ikimageview swift

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

内容阻止程序扩展使用String而不是文件

NSItemProvider(contentsOfURL: NSBundle.mainBundle().URLForResource("blockerList", withExtension: "json")在内容拦截器扩展中使用该功能.

问题是我的所有规则都存储在一些词典中,当我使用这个功能时,总是因为规则已经改变了.我正在从这些字典中创建一个看起来像的字符串"[{\"trigger\": {\"url-filter\": \"webiste.com\"},\"action\": {"\type\": \"css-display-none\",\"selector\":\".testContentBlocker\"}}]",我必须在JSON文件中将其转换为最终能够在前面描述的函数中使用它.

而不是必须将String放在JSON文件中才能使用它,我可以做一些更简单的事情NSItemProvider()吗?

swift safari-content-blocker

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