- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
I know there are many questions and answers for this
does not conform to protocol
error, but nothing matched and/or worked for my specific problem.
我真的不知道,我做错了什么。我想将我的代码划分为类,以便我可以将我的“后端”与我的“前端”分开(ViewController.swift)。
在这种情况下,我想要一个在后台处理 API 调用的类,因此我使用以下代码创建了一个 ApiController.swift
文件:
import Foundation
protocol OMDbApiControllerProtocol {
func didReceiveOMDbResults(results: Dictionary<String, String>)
}
class OMDbApiController {
var delegate: OMDbApiControllerProtocol?
init(delegate: OMDbControllerProtocol?) {
self.delegate = delegate
}
func searchOMDb(forSeries: String, season: String, episode: String) {
let term = forSeries.stringByReplacingOccurrencesOfString(" ", withString: "+", options: .CaseInsensitiveSearch, range: nil)
if let escapedTerm = term.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding) {
let url = NSURL(string: "http://www.omdbapi.com/?s=\(escapedTerm)")
println(url!)
let task = NSURLSession.sharedSession().dataTaskWithURL(url!, completionHandler: {
(data, response, error) in
var jsonResults = NSJSONSerialization.JSONObjectWithData(data, options: .MutableContainers, error: nil) as? Dictionary<String, String>
dispatch_async(dispatch_get_main_queue()) {
self.delegate?.didReceiveOMDbResults(jsonResults!)
}
})
task.resume()
}
}
}
然后我在 ViewController.swift
文件中“导入”协议(protocol):
class SeriesInfoViewController: UIViewController, UIScrollViewDelegate, OMDbApiControllerProtocol
这会产生错误:类型“SeriesInfoViewController”不符合协议(protocol)“OMDbApiControllerProtocol”
I hope you understand my problem and please considerate, that this is my first asked question on Stack Overflow.
最佳答案
我认为您有点误解了协议(protocol)的使用方式。通过“导入”协议(protocol),您是在说您的类实际上符合该协议(protocol)。在这种情况下,这意味着 SeriesInfoViewController
必须实现 didReceiveOMDbResults
才能真正符合协议(protocol)。
因此,如果您实现该方法,您应该没问题。
关于ios - 错误 : "Type ' *' does not conform to protocol ' *'" using custom class and NSURLSession,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31004836/
我需要创建一个类型安全的弱引用数组 一个包含“类型安全”弱引用并且可以是数组元素的结构: public struct WeakRef: Hashable { public weak var r
假设我有这个 Swift 类: class Foo: NSObject, NSCoding { var stringMember: String var intMember: Int
谁能解释一下,下面的例子有什么问题?为什么会抛出 StackOverflowError 异常? (s/def ::tag keyword?) (s/def ::s string?) (s/def ::
啊啊!尝试使用我的神经网络进行计算时,我不断收到以下错误: > net.compute matrix.train1 (Intercept) survived pclass sexmale
我在下面的行中面临警告 此警告在更改以下行后出现 @interface BDSAppDelegate : UIResponder 到 @interface BDSAppDelegate : UIRe
我正在尝试实现 git 项目 XLPagerTabStrip . 根据项目,每个 Controller 必须: Every view controller provided by PagerTabSt
clojure.spec.alpha API 有一个名为 conformer 的宏有这样的描述: Usage: (conformer f) (conformer f unf) takes
iPhone开发中的“符合”是什么意思?这个词被广泛使用,但我找不到令人满意的定义。 假设我们有 3 个类别 - A、B 和 C 如果A继承B&如果A符合C 这是什么意思? 另外,为什么大多数类、协议
我最近刚刚遇到“弱一致性”这个术语(在 Stack Overflow 用户 retronym 对 How to set up implicit conversion to allow arithmet
我在我的一个 MVC 项目中使用 ConfORM Nhibernate。并且有一对多映射的问题。 IEnumerable domainEntities = this.GetDomain
如何对两个数组进行逐元素算术运算在第一个维度上是一致的,但还有一个额外的维度? 示例,将数组 a (3 x 3 x 2) 乘以数组 b (3 x 3): a a * b 要使其工作,您必须将数组 b
我是 swift 新手,并按照教程了解更多信息。 在下面的代码中,我定义了自定义运算符( Bool { for cardValue in valueArray { if lhs
我有来自 here 的 FAA 剖面图.每个包都包含相关图表的 .tif、描述图表的 .htm 文件和 .tfw 世界文件。 map 投影为朗伯共形圆锥投影。 我正在开发一个 C# 应用程序,它需要能
当我在脚本中调用下面的函数时,我会看到一个弹出对话框来执行一些说明。 这是我的示例代码: function updateStatus(instrxnID){ exporter.
我试图通过注入(inject)适应 URLSession 和 URLSessionDataTask 协议(protocol)的对象来测试我自己的类。我正在扩展 NSURLSession 和 NSURL
这个问题在这里已经有了答案: Fatal error: Dictionary does not conform to Decodable because Any does not conform t
我想在我的一个代理类中管理所有位置代码。由于该类(class)是从头开始构建的,而不是构建在 UIView 上的或继承 NSObjectProtocol 的类似类,它会抛出错误“不符合协议(proto
无法理解为什么我的类不符合 Codable请注意,在我的例子中,我不需要实现方法encode 和decode。 public class LCLAdvantagePlusJackpotCache: C
我是 IOS swift 开发新手。我曾经使用以前的 Xcode 6 beta。 我已经下载了 Xcode 6.0.1 但我无法让它工作 Xcode Version: 6.0.1 当我尝试运行示例时,
以下 Scala 声明是可以的: trait Base[B y) then x else y 这相当于将 Ordering(与 java.util.Comparator 相同)传递给函数。确实,宣言
我是一名优秀的程序员,十分优秀!