草庐IT

不符合

全部标签

ios - Firebase 类型 'AppDelegate' 不符合协议(protocol) 'FUIAuthDelegate'

我正在使用Firebase4.6.0、Xcode9.1、Swift4。当我实现FUIAuthDelegate协议(protocol)及其所需的函数authUI(_authUI:FUIAuth,didSignInWithuser:User?,error:Error?)时,我仍然得到一个编译错误“类型‘AppDelegate’不符合协议(protocol)‘FUIAuthDelegate’”。为什么? 最佳答案 对我来说,这是通过添加方法解决的funcauthUI(_authUI:FUIAuth,didSignInWithuser:Fi

ios - 当 String 不符合错误时抛出的函数命中 do catch block 时如何获得正确的错误?

importFoundationenumErrorScenarios:Error{caseinvalidAgecaseinvalidEmailcaseincorrectData}funcage(age:Int)throws{ifage我在这里使用docatchblock来捕获invalidAge错误场景,我不太确定这是否正确?当我在Playground上跑时,catchblock永远不会被击中。do{tryage(age:-23)}catch{throwErrorScenarios.invalidAge}这里作为docatchblock的替代方案,我通过将其设为可选来处理错误,因此我猜

ios - 类型 'String' 不符合协议(protocol) 'NilLiteralConvertiblle'

这行代码:varerrorView=UIAlertView(title:errorTitle,message:errorString,delegate:self,cancelButtonTitle:"Cancel",otherButtonTitles:"OK",nil)重写自Objective-C代码:UIAlertView*errorView=[[UIAlertViewalloc]initWithTitle:errorTitlemessage:errorStringdelegate:selfcancelButtonTitle:nilotherButtonTitles:@"OK",ni

json - 不能从符合 Equatable 的对象向下转换为 AnyObject

这一直困扰着我。我想用Moya+ReactiveCocoa和json-swift.如果不重写其中一些框架似乎并不容易,因为有一次我似乎需要返回一个AnyObject并创建一些符合Equatable的数据,因此不允许这样做。这是一个演示错误消息的玩具Playground就绪示例structJSValue:Equatable{letvalue:String}func==(lhs:JSValue,rhs:JSValue)->Bool{return(lhs.value==rhs.value)}varjsv=JSValue(value:"abc")varanyValue=jsvasAnyObje

class - 为符合 'generate()' 的类的子类更改 'SequenceType' 方法

假设我有一个通用类Parent,符合SequenceType协议(protocol),通过实现generate()方法:classParent{//...}extensionParent:SequenceType{funcgenerate()->GeneratorOf{//...returnGeneratorOf{//returnthenextelement,orniltostop}}现在generate()方法显然不会简单地返回P类型的元素,但是[P].现在让我们实现一个子类Child:classChild:Parent{//...}Child也应该符合SequenceType,但不

ios - 对符合 Swift 协议(protocol)的对象和变量进行单元测试

我有一个VIPER架构设置,正在尝试对线框的实例化进行单元测试。对于任何不知道VIPER是什么的人来说,要理解的关键部分是有4个类具有关键职责。线框创建其他3个(View、演示者和交互器)。然后线框将它们适本地连接起来,如下所示:Wireframe^|vViewPresenterInteractor所以我在Swift中创建单元测试,并且很难确保这些连接已设置。请注意,代码本身有效,单元测试中的断言是问题所在。functestInitWithNothingShouldInstantiateVIPERStackAndConnectLayers(){wireframe=LoginWirefr

swift - Typealias 必须声明为公共(public)的,因为它符合公共(public)协议(protocol)中的要求

我正在实现一个基本的Functor//classFunctorfwherepublicprotocolFunctor{typealiasAtypealiasBtypealiasFB//fmap::(a->b)->fa->fbfuncfmap(f:A->B)->FB}publicstructBox{letvalue:Xpublicinit(valuev:X){value=v}}extensionBox:Functor{publictypealiasA=XpublictypealiasB=AnypublictypealiasFB=Boxpublicfuncfmap(f:A->B)->FB{

ios - 创建符合另一个协议(protocol)的协议(protocol)变量

我有一个Swift项目,我想在其中创建一个动画师。我将在我所有的ViewController中使用这个动画对象,为它们中的每一个创建一个特定的对象。实际的动画对象必须符合Animator协议(protocol)。看例子:这是Animator协议(protocol):protocolAnimator{associatedtypeViewControllerGenericvarcontroller:ViewControllerGeneric{get}///Inittheanimator//////-Parametercontroller:TheUIViewControllertobindt

swift - `RLMArray` 不符合协议(protocol) 'Encodable'

我想做的事:使用JSONDecoder(),我将json转换为Realm对象。然后我将这个对象保存到Realm数据库中。问题:RLMArray不应用Codable协议(protocol)。我可以遵守Decodable协议(protocol),但Codable我不能。错误信息:类型“Person”不符合协议(protocol)“Encodable”代码:publicclassHobby:Object,Codable{@objcdynamicvartitle:String?@objcdynamicvarcategory:String?}publicclassPerson:Object,Co

ios - Swift 符合协议(protocol)子类

在我的应用程序中,我有多个依赖模型的UIView子类。每个类都采用“Restorable”协议(protocol),该协议(protocol)包含模型的父类(superclass)。每个子模型都描述了特定的UIView不常用属性。//Super-modelpublicprotocolStoryItem{varid:Int64?{get}}//ParentprotocolpublicprotocolRestorable:AnyObject{varstoryItem:StoryItem?{getset}}//SpecificprotocolpublicstructTextItem:Stor