草庐IT

SMB1Protocol

全部标签

Swift 2 向协议(protocol)添加协议(protocol)一致性

我可以通过swift扩展将协议(protocol)一致性添加到协议(protocol)中吗?//PlainoldprotocolhereprotocolMyData{varmyDataID:Int{get}}我想使MyData协议(protocol)默认相等(只需比较ID)extensionMyData:Equatable{}但是我得到了这个可爱的错误:"Extensionofprotocol'MyData'cannothaveaninheritanceclause"我正在寻找的行为是符合Equatable(协议(protocol))的BananaData,因为它实现了MyData协议

ios - 如何使类快速符合协议(protocol)?

为了实现委托(delegate),我需要让一个类符合Swift中的协议(protocol)。我该怎么做? 最佳答案 classYourClass:SuperClassIfAny,FirstProtocol,SecondProtocol{}但请注意,某些协议(protocol)要求您实现委托(delegate)方法。例如,UITableViewDataSource需要你实现functableView(tableView:UITableView!,numberOfRowsInSectionsection:Int)->Int和functa

ios - 使用选择器错误的 Swift 3 协议(protocol)扩展

我认为我的UIViewController有一个非常简单的协议(protocol)扩展,它提供了通过点击手势关闭键盘的功能。这是我的代码:@objcprotocolKeyboardDismissing{funcon(tap:UITapGestureRecognizer)}extensionKeyboardDismissingwhereSelf:UIViewController{funcaddDismissalGesture(){lettap=UITapGestureRecognizer(target:self,action:#selector(Self.on(tap:)))view.a

iOS : 'MyViewController' does not conform to protocol 'UITableViewDataSource'

我是IOSswift开发新手。我曾经使用以前的Xcode6beta。我已经下载了Xcode6.0.1但我无法让它工作XcodeVersion:6.0.1当我尝试运行示例时,我仍然收到“'MyViewController'doesnotconfirmtoprotocol'UITableViewDataSource'”。有人可以帮帮我吗?我已经解决了这个网站上的其他问题,并为“UITableViewDataSource”添加了所有必需的功能;importUIKitimportFoundationclassMyViewController:UIViewController,UITableVi

swift - 应该如何根据 Swift API 设计指南调整协议(protocol)/实现对?

在新SwiftAPIdesignguidelines,协议(protocol)的常用Type后缀正在被删除。虽然这对于独立的协议(protocol)(SequenceType变为Sequence)很容易做到,但我不确定如何更新我的API,其中协议(protocol)提供基础一个实现。以下是来自流行框架的一些示例:Resultµframework提供Result,一个具体的成功/失败枚举,以及ResultType,一个成功/失败类型的通用基础协议(protocol),Result符合.ReactiveCocoa的主要类型是Signal和SignalProducer,它们由SignalTy

node.js - Puppeteer 错误 : Protocol error (Page. captureScreenshot):目标已关闭

我在node:8-slim容器上运行puppeteer@1.12.2时遇到此错误。完整的错误:Error:Protocolerror(Page.captureScreenshot):Targetclosed.atPromise(/app/node_modules/puppeteer/lib/Connection.js:183:56)atnewPromise()atCDPSession.send(/app/node_modules/puppeteer/lib/Connection.js:182:12)atPage._screenshotTask(/app/node_modules/pup

node.js - Puppeteer 错误 : Protocol error (Page. captureScreenshot):目标已关闭

我在node:8-slim容器上运行puppeteer@1.12.2时遇到此错误。完整的错误:Error:Protocolerror(Page.captureScreenshot):Targetclosed.atPromise(/app/node_modules/puppeteer/lib/Connection.js:183:56)atnewPromise()atCDPSession.send(/app/node_modules/puppeteer/lib/Connection.js:182:12)atPage._screenshotTask(/app/node_modules/pup

swift - 如何以通用方式调用协议(protocol)上的静态函数?

在协议(protocol)上声明静态函数是否有意义?使用协议(protocol)的客户端必须调用符合协议(protocol)的类型的函数,对吗?这打破了不必知道符合IMO协议(protocol)的类型的想法。有没有一种方法可以在我不必知道符合我的协议(protocol)的实际类型的情况下调用协议(protocol)上的静态函数? 最佳答案 好问题。这是我的拙见:在协议(protocol)上声明静态函数是否有意义?与在协议(protocol)中声明实例方法几乎相同。使用该协议(protocol)的客户端无论如何都必须在符合协议(pro

Swift 类型不符合协议(protocol) NilLiteralConvertible

我有方法:funcgetByEmail(email:String)->MeeterAccount{foracctinaccountsList{ifacct.getEmail().equalsIgnoreCase(email){returnacct;}}returnnil;//hereIgetanerror:type'MeeterAccount'doesnotconformtoprotocolNilliteralConvertible}如何摆脱这个错误?我想写这样的东西:funcgetByEmail(email:String)->MeeterAccount{varout:MeeterAc

xcode - 类型 'AnyObject' 不符合协议(protocol) 'SequenceType'

funcloadThumbnails(){letpaths=NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory,NSSearchPathDomainMask.UserDomainMask,true)letdocumentsDirectory:NSString=paths[0]asNSStringvarerror:NSError?letfileManager=NSFileManager()letdirectoryContent:AnyObject=fileManager.contentsO