小编rad*_*dar的帖子

无法从扩展读取核心数据

我有一个应用程序可以存储一些信息coredata并读取它们。我正在编写这个应用程序的消息扩展,我想让这个扩展读取相同的数据,但我总是有空响应。

这是我在主应用程序中使用的代码:

context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
fetchImages(Date()){ (array, arrayData) in
    for image in array{
         imagesArray.insert(image, at:0)
    }
}
Run Code Online (Sandbox Code Playgroud)

我在扩展中使用完全相同的代码,但它不读取数据。我想知道的是我没有appGroupIdentifier在代码中的任何地方使用。

我该怎么做才能实现这一目标?

谢谢。

下面是fetchImages函数代码:

func fetchImages(_ predicate:Date, completion:(_ array:[Image], _ arrayData:NSArray)->()){
    var arrData = [NSManagedObject]()
    var existingImages = [Image]()
    let request :NSFetchrequest<NSFetchrequestResult> = NSFetchrequest(entityName: "Photo")

    do {
        let results = try context?.fetch(request)
        var myImage = Image()
        if ((results?.count) != nil) {
            for result in results! {
                myImage.imageUrl = (resultat as! NSManagedObject).value(forKey:"url") as! String
                myImage.imageFileName = …
Run Code Online (Sandbox Code Playgroud)

core-data ios swift share-extension

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

Python 客户端保持 websocket 打开并对收到的消息做出反应

我正在尝试在 python 中实现一个 REST 客户端,该客户端对通过相关服务器打开的 websocket 接收到的服务器收到的消息做出反应。这是场景:

  • 客户端与服务器打开一个websocket
  • 服务器不时地向客户端发送消息
  • 当客户端收到消息时,它会从服务器获取一些信息

我当前的客户端能够打开 websocket 并接收来自服务器的消息。但是,一旦它收到消息,它就会从服务器获取信息,然后终止,而我想让它继续侦听其他消息,这将使其从服务器获取新内容。

这是我的代码:

def openWs(serverIp, serverPort):
    ##ws url setting
    wsUrl = "ws://"+serverIp+":"+serverPort+"/websocket"

    ##open ws
    ws = create_connection(wsUrl)

    ##send user id
    print "Sending User ID..."
    ws.send("user_1")
    print "Sent"

    ##receiving data on ws
    print "Receiving..."
    result =  ws.recv()

    ##getting new content
    getUrl = "http://"+serverIp+":"+serverPort+"/"+result+"/entries"
    getRest(getUrl)
Run Code Online (Sandbox Code Playgroud)

我不知道使用线程是否合适,我不是这方面的专家。如果有人能提供帮助,那就太好了。

提前致谢。

python multithreading websocket

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