Поднимите NSError в RubyMotion

Я пишу приложение, которое в основном просто клиент для HTTP API. Я пытаюсь повторно использовать код из примера поиска Redis (DataParser а также JsonParser), но когда возникает ошибка во время вызова API, RubyMotion не может вызвать эту ошибку. Пытается raise первая ошибка в указателе ошибки, которая имеет NSError а также raise надеется Exception предок.

Есть ли новый способ обработки ошибок HTTP в проектах RubyMotion?

Я не использую BW::HTTP, поскольку обнаружил, что он устарел.

Полученная ошибка:

data_parser.rb:7:in `parse:': exception class/object expected (TypeError)

Один из кодов не работает таким образом:

class DataParser
  def self.parse(url)
    error_ptr = Pointer.new(:object)
    data = NSData.alloc.initWithContentsOfURL(NSURL.URLWithString(url), options:NSDataReadingUncached, error:error_ptr)
    unless data
      NSLog error_ptr[0].inspect
      raise error_ptr[0]
    end
    data
  end
end

1 ответ

Настоятельно рекомендуется использовать AFMotion: https://github.com/clayallsopp/afmotion

Другие вопросы по тегам