Reskit没有调用回调

时间:2012-07-08 22:45:55

标签: ios xcode restkit rubymotion

我正在尝试使用带有cocoapods和rubymotion的restkit,并且无法获得一个简单的get请求。我可以在我的rails app日志上看到模拟器请求到达那里,但是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

这个

的任何帮助都会很棒

1 个答案:

答案 0 :(得分: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实例)实现这两个协议,然后两个协议的回调都将触发。