草庐IT

SMB1Protocol

全部标签

swift - 类型 'Int' 不符合协议(protocol) 'BooleanType'

我对这个陈述做错了什么?currentRow是一个NSIndexPathoverridefunctableView(tableView:UITableView,heightForRowAtIndexPathindexPath:NSIndexPath)->CGFloat{ifindexPath.row&¤tRow?.row==5{return300}return70我得到的错误是:Type'Int'doesnotconformtoprotocol'BooleanType' 最佳答案 如果您想检查,如果您的currentRo

ios - Swift - 编译器错误 - 段错误 11 - 泛型符合协议(protocol)

swift1.2/XCode6.4我有以下代码:publicprotocolMapShape:AnyObject{funcisEqualTo(other:MapShape)->Bool}还有一个我尝试遵守该协议(protocol)的通用类publicclassMapMulti{letitems:[T]init(items:[T]){self.items=items}}extensionMapMulti:Equatable{}publicfunc==(lhs:MapMulti,rhs:MapMulti)->Bool{returntrue//simplifycode}extensionMa

objective-c - 如何使我的 Objective-C 类符合 Swift 的 `Equatable` 协议(protocol)?

我有一个Objective-C类(恰好是一个按钮,但这并不重要),在我的(混合语言)项目的另一部分,我有一个这些按钮的数组,我想使用find()获取按钮的索引方法。像这样:funcdoSomethingWithThisButtonIndex(index:Int){letbuttons=[firstButton,secondButton,thirdButton]ifindex==find(buttons,firstButton){//we'veselectedthefirstbutton}}但是我得到了Type'ImplicitlyUnwrappedOptional'doesnotcon

Swift:如何使具有子类返回类型的函数符合协议(protocol),其中父类(super class)被定义为返回类型?

我有一个协议(protocol),其中定义了一个函数,函数的返回类型是SuperclassType。在一个符合协议(protocol)的类中,我试图定义这个函数,但返回类型是SubclassType。编译器告诉我,这个类不符合协议(protocol),因为显然SubclassType!=SuperclassTypeprotocolSomeProtocol{funcsomeFunction(someParameter:SomeType)->SuperclassType?}classSomeClass:SomeProtocol{funcsomeFunction(someParameter:

自定义类型的 Swift Enum 符合哈希协议(protocol)

我有一个这样的枚举:enumAnimals{caseCow(MyCowClass)caseBird(MyBirdClass)casePig(MyPigClass)caseChicken(MyChickenClass)}每种类型都符合哈希协议(protocol)。然后这个枚举成为另一个类的属性:classFarm{letname="Bob'sFarm"varanimal=Animalsrequiredinit(animal:Animals){self.animal=animal}我想从案例实例中获取散列值并将其用于枚举,这样我就可以使用名称和动物使Farm类可散列。

swift - Swift 中协议(protocol)的只读属性

在“LearntheEssentialsofSwift”Playground中,有一个示例协议(protocol):protocolExampleProtocol{varsimpleDescription:String{get}funcadjust()}这个例子之后有一小段内容是:Note:The{get}followingthesimpleDescriptionpropertyindicatesthatitisread-only,meaningthatthevalueofthepropertycanbeviewed,butneverchanged.另外给出了一个符合这个协议(prot

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)扩展中存储提交给计算属性的数据?

在我目前正在开发的应用程序中,我尝试利用Swift中的新协议(protocol)扩展功能。这个想法是我有很多实现相同协议(protocol)的类。由于所有这些类都应该具有相同的计算属性,并且由于这些属性在不同的类中的行为应该相同,所以我认为只添加一次功能会很好。我的代码结构如下例protocolSomeProtocol{...}//Therecouldpotentiallybeunlimiteddifferentversionsof"SomeClass"thatimplements"SomeProtocol"classSomeClass:SomeProtocol{...}extensi

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

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

ios - 协议(protocol)方法/函数中的 Swift 默认参数和忽略参数

我如何设置协议(protocol)的功能,以便它可以接收可选参数甚至忽略它?我有这个协议(protocol):protocolGame{funcmodeName(forRound:Int)->ModeName}有了这两个特殊类://Goal:DefaultforRoundshouldbe0ifnoneprovidedclassOnlineGame:Game{funcmodeName(forRound:Int=0)->ModeName{//Somecode}}//Goal:Idon'tcareabouttheforRoundvaluehereclassOfflineGame:Game{f