草庐IT

ios - 不符合协议(protocol) 'NSCoding' - Swift 3

我见过几个和我类似的问题;但是,这些与swift2/1有关,而我目前使用的是swift3。我相信Apple对其进行了轻微更改。classPerson:NSObject,NSCoding{varsignature:UIImageinit(signature:UIImage){self.signature=signature}requiredconvenienceinit(coderaDecoder:NSCoder){letsignature=aDecoder.decodeObject(forKey:"signature")as!UIImageself.init(signature:sig

swift - 类型 'Error' 不符合协议(protocol) 'RawRepresentable'

将我的Playground代码更改为Swift3,Xcode建议更改enumError:ErrorType{caseNotFound}到enumError:Error{caseNotFound}但现在我得到标题错误,我不知道如何让枚举符合该协议(protocol)。 最佳答案 问题是你将错误类型命名为Error——这与标准库Error协议(protocol)冲突(因此Swift认为你有一个循环引用).您可以将SwiftError协议(protocol)称为Swift.Error以消除歧义:enumError:Swift.Error{

ios - 类型 'string' 不符合协议(protocol) NilLiteralConvertible

在我的Swift代码中:overridefunctableView(tableView:UITableView,titleForHeaderInSectionsection:Int)->String?{letstringIdent=String(format:"section_1_%d",section)returnNSLocalizedString(stringIdent,comment:nil)}运行构建时显示错误:Type'string'doesnotconformtoprotocolNilLiteralConvertible此代码在Objective-C中始终有效。Swift有

ios - 从 NSDictionary 获取对象时类型 'String' 不符合协议(protocol) 'NSCopying' 错误

在Swift中尝试从NSDictionary中提取对象时出现错误:Type'String'doesnotconformtoprotocol'NSCopying'我尝试将key从String转换为NSString但我没有解决问题。任何人都可以阐明一下吗?这是代码:varexcerciseCategoryDictionary=objectasNSDictionaryletcategory=NSEntityDescription.insertNewObjectForEntityForName(NSStringFromClass(ExcerciseCategory.self),inManage

objective-c - 类型 'Boolean' 不符合协议(protocol) 'BooleanType'

在尝试根据Apple文档(和tutorial-ized)创建LaunchHelper时,我似乎遇到了由于将Objective-C代码移植到Swift中而引起的问题……谁的编译器不能再这样了在这种情况下是多余的。importServiceManagementletlaunchDaemon:CFStringRef="com.example.ApplicationLauncher"ifSMLoginItemSetEnabled(launchDaemon,true)//Errorappearshere{//...}错误似乎一直是:类型“Boolean”不符合协议(protocol)“Boole

Swift [1,2] 符合 AnyObject 但 [Enum.a, Enum.b] 不符合

我在AppDelegate中,试图传递对WatchKit扩展请求的回复。我不能使用枚举数组作为值类型为AnyObject的字典中的值。在Playground中进行的实验表明:enumE:Int{casea=0caseb}varx:AnyObject=[0,1]//OKvary:AnyObject=[E.a,E.b]//[E]isnotconvertibletoAnyObject当然,我可以通过将我的枚举转换为字符串或数字来解决这个问题,但为什么这是Swift中的类型错误? 最佳答案 AnyObject的存在是为了与Objective

ios - 此类不符合 @IBInspectable 的键值编码

我在自定义View上创建了一个@IBDesignable来设置来自IB的属性。但是我得到这个类是不符合键值编码的尽管我在我的类中有那个属性。@IBDesignableclassExclusiveSelectorView:UIView{@IBInspectablevarcellWidth:CGFloat?}无法在(Test.ExclusiveSelectorView)上设置(cellWidth)用户定义的检查属性:[setValue:forUndefinedKey:]:此类对于键cellWidth不符合键值编码。这是我的课 最佳答案

ios - Swift:不符合协议(protocol) NSCoding

我正在尝试在我用swift编写的类上使用NSCoding协议(protocol),但似乎无法弄清楚为什么编译器在我实现所需方法时提示它“不符合协议(protocol)NSCoding”:classServerInfo:NSObject,NSCoding{varusername=""varpassword=""vardomain=""varlocation=""varserverFQDN=""varserverID=""overrideinit(){}init(coderaDecoder:NSCoder!){self.username=aDecoder.decodeObjectForKe

ios - 不符合协议(protocol) UIPickerViewDataSource

我不知道我的代码有什么问题。我尝试按照教程进行操作,但发生了同样的错误。错误:Type'FourthViewController'doesnotconformtoprotocol'UIPickerViewDataSource'这是我的代码:importUIKitletcharacters=["JajaBink","Luke","HanSolo","PrincessLeia"];letweapons=["LightSaber","Pistol","Keris"];classFourthViewController:UIViewController,UIPickerViewDataSour

swift - 不符合 Decodable/Codable 协议(protocol)

我正在使用以下结构:structItem:Codable{varcategory:StringvarbirthDate:Datevarswitch:BoolvarweightNew:[Weight]varweightOld:ArrayvarcreatedAt:DatevaritemIdentifier:UUIDvarcompleted:BoolfuncsaveItem(){DataManager.save(self,with:itemIdentifier.uuidString)}funcdeleteItem(){DataManager.delete(itemIdentifier.uui