草庐IT

不符合

全部标签

ios - 类型 'UIViewController' 不符合协议(protocol) 'WCSessionDelegate'

自从在Xcode8(Beta1)和Swift3上升级后,我在这一行中遇到错误:classCloudViewController:UIViewController,WCSessionDelegate{它说:Type'UIViewController'doesnotconformtoprotocol'WCSessionDelegate'这是我的(使用Xcode7和Swift2工作)代码:overridefuncviewDidLoad(){super.viewDidLoad()if(WCSession.isSupported()){self.session=WCSession.default

swift - 无法在符合协议(protocol)的类上调用类型方法

我的代码非常简单。我的协议(protocol):protocolBaseEntity{classfuncgetInstance(sourceObject:[NSObject:AnyObject],context:AnyObject!)->BaseEntityinit()}然后在另一个类中我有这个方法:privatefuncconvertJSONDictionaryIntoModel(jsonDictionary:[NSObject:AnyObject],mapClass:BaseEntity.Type)->BaseEntity{letobject=mapClass.getInstanc

swift - 如何使 struct 和 typealias 符合@objc

是否有可能使struct和/或typealias符合@objc?我希望创建可选的协议(protocol)函数,一个返回一个struct,另一个返回一个typealias。publictypealiasSwiperData=(image:UIImage,title:String)publicstructSwiperPeekViewControllers{publicvarparentViewController:UIViewController!publicvarcontentViewController:UIViewController!publicinit(parentVC:UIVi

swift - 具有非可选属性的类符合具有可选属性的协议(protocol)

如果我有一个具有可选属性的协议(protocol),以及一个需要符合该协议(protocol)的类,该类已经具有相同的属性,但作为非可选属性,我如何使该类符合协议(protocol)。protocolMyProtocol{vara:String?{getset}}classMyClass{vara:String}extensionMyClass:MyProtocol{//WhatdoIputheretomaketheclassconform} 最佳答案 不幸的是,您不能在MyClass中用不同的类型重新声明同一个变量。Dennis的

Swift:参数类型 '[String:ValueType]' 不符合预期类型 'AnyObject'

我有以下代码试图将字典转换为NSData:funcdataFromDict(dict:[String:ValueType])->NSData{returnNSKeyedArchiver.archivedDataWithRootObject(dict)}编译器将dict作为参数传递给了我这个错误:参数类型“[String:ValueType]”不符合预期类型“AnyObject”编辑:@vadian的解决方案对我有用。我还尝试将字典转换为NSDictionary:returnNSKeyedArchiver.archivedDataWithRootObject(dictasNSDictio

ios - 协议(protocol)扩展,不符合协议(protocol)

我正在创建一个名为MyFramework的框架,其中包含LoginProtocol.swift,它具有一些默认行为importUIKitpublicprotocolLoginProtocol{funcappBannerImage()->UIImage?funcappLogoImage()->UIImage?}extensionLoginProtocol{funcappBannerImage()->UIImage?{return(UIImage(named:"login_new_top"))}funcappLogoImage()->UIImage?{return(UIImage(name

swift - 不支持使用 'Protocol' 作为符合协议(protocol) 'Protocol' 的具体类型

我有以下快速代码:protocolAnimal{varname:String{get}}structBird:Animal{varname:StringvarcanEat:[Animal]}structMammal:Animal{varname:String}extensionArraywhereElement:Animal{funcmammalsEatenByBirds()->[Mammal]{vareatenMammals:[Mammal]=[]self.forEach{animalinifletbird=animalas?Bird{bird.canEat.forEach{eate

符合具有默认实现的协议(protocol)的类型的 Swift 最小实现

我正在尝试使我自己的类型符合CollectionType。通过Swift2.0中引入的协议(protocol)扩展,现在可以只实现所需实例方法的一个子集,同时自动实现所有其他方法。但是我需要提供的最小方法子集是什么? 最佳答案 似乎最低要求是实现Indexable协议(protocol)。这是一个例子,没有一个可以省略属性/方法而不会导致编译器错误:structMyCollectionType:CollectionType{varstartIndex:Int{return0}varendIndex:Int{return3}subsc

swift - 在 Swift 2 中声明符合协议(protocol)的 UIView 类型的变量

我需要声明一个UIView类型的变量,它也符合MyProtocol:protocolMyProtocol:class{funcfoobar()}classMyClass{varmyView:UIView!//Error:Cannotspecializenon-generictype'UIView'}但是我收到编译器错误:无法专门化非泛型类型“UIView”。我需要从UIView和MyProtocol访问变量的方法。支持这些要求的正确变量声明是什么?如果有任何不同,只有UIView子类会实现该协议(protocol)。目前我通过扩展添加协议(protocol)一致性。我找到了这个答案:h

ios - 类型 'String' 不符合协议(protocol) 'SequenceType' - Swift 2.0

我试图在Swift2.0中反转字符串,但在字符串ifself上出现错误。funcreverseString(string:String)->String{varbuffer=""forcharacterinstring{buffer.insert(character,atIndex:buffer.startIndex)}returnbuffer}错误:Type'String'doesnotconformtoprotocol'SequenceType' 最佳答案 简单的解决方案:funcreverseString(string:Str