0

我正在尝试将 restkit 与 cocoapods 和 ruby​​motion 一起使用,但无法获得一个简单的获取请求来工作。我可以在我的 Rails 应用程序日志中看到模拟器请求正在到达那里,但 restkit 从不调用它的回调。更糟糕的是,我大部分时间都没有收到任何错误消息,如果幸运的话,我得到的只是这个;

命令失败,状态为 (1):[DYLD_FRAMEWORK_PATH="/Applications/Xcode.a...]

最终什么也没告诉我。这是我正在执行的代码:

class GameManager

  attr_accessor :games, :delegate

  def load_games
    RKClient.sharedClient.get("/games.json", delegate:self)
  end

  def objectLoader(objectLoader, didLoadObjects:objects)
    puts "Objects: #{objects}"
  end

  def objectLoader(objectLoader, didFailWithError:failError)
    puts "Error: #{failError}"
  end

  def request(request, didLoadResponse:response)
    if request.isGET
      if response.isOK
        puts response.bodyAsString
      else
        puts response.inspect
      end
    end
  end

end

任何帮助都会很棒

4

1 回答 1

0

要使用这些 RKObjectLoaderDelegate 回调,您需要使用 RKObjectManager 的实例发出请求: http: //restkit.org/api/master/Classes/RKObjectManager.html

RKClient 是处理 HTTP 请求的底层接口,通过 RKRequestDelegate 协议调用一组不同的回调: http ://restkit.org/api/master/Protocols/RKRequestDelegate.html

不过,RKObjectManager 实例使用 RKClient 来发出请求,所以如果你使用 RKObjectManager 的实例,你可以让它的委托(你的 GameManager 实例)实现这两个协议,然后两个协议的回调都会触发。

于 2012-07-09T00:01:43.863 回答