草庐IT

不符合

全部标签

swift - 此类不符合键名的键值编码。

这个问题在这里已经有了答案:Swift4"Thisclassisnotkeyvaluecodingcompliant"(1个回答)关闭5年前。我创建了一个名为Users的类,如下所示publicclassUsers:NSObject{varname:String?varemail:String?}和其他类创建用户类数组varregUser=[Users]()和funcfetchUser(){Database.database().reference().child("users").observe(.childAdded,with:{(DataSnapshot)inifletdicti

json - Int 不符合协议(protocol) 'StringLiteralConvertible'

我试图在天气应用程序中解析json,但遇到了一个我无法克服的障碍。我确实在以下代码中收到错误消息“Type'int'doesnotconformtoProtocol'StringLiteralConvertible'”。我尝试转换jsonResult["main"]但这确实给出了错误“后缀的操作数应该有可选类型,类型是AnyObject”。我是否需要以某种方式向下转换数组,如果是这样,我应该怎么做?我为此搜索了很多,但在其他帖子中找不到任何帮助。代码如下。funcupdateWeatherInfo(latitude:CLLocationDegrees,longitude:CLLocat

ios - 类型 'AnyObject' 不符合协议(protocol) 'Hashable'

我正在将现有的Objective-C项目转换为Swift。我正在转换一个出现上述错误的函数。请检查以下代码。objective-C-(IBAction)accessoryButtonTapped:(id)senderevent:(id)event{NSSet*touches=[eventallTouches];UITouch*touch=[touchesanyObject];CGPointcurrentTouchPosition=[touchlocationInView:self.tableView];NSIndexPath*indexPath=[self.tableViewindex

swift - 当类型符合多个协议(protocol)时,为什么不满足 Swift 协议(protocol)一致性

这个问题在这里已经有了答案:Whycan'taget-onlypropertyrequirementinaprotocolbesatisfiedbyapropertywhichconforms?(3个答案)关闭3年前。假设您有以下协议(protocol)和类:protocolFoo{}protocolBar{}protocolDeps{varbar:Bar{get}}classFooBar:Foo,Bar{}然后您定义一个新类,其属性符合Foo和Bar协议(protocol)。classScope:Deps{letbar:Foo&Bar=FooBar()//❌doesnotcompil

swift - 符合协议(protocol)

我正在试验一些快速的特性。(收集协议(protocol))。我想实现一个实现CollectionType的结构。我的代码:structBook{letid:Stringletname:Stringinit(id:String,name:String){self.id=idself.name=name}}structBookCollection{varbooks:[Book]}第一次尝试:extensionBookCollection:CollectionType{}编译器错误:“类型BookCollection不符合可索引协议(protocol)”好的编译器让我们符合Indexable

ios - 如何符合基于操作系统版本的协议(protocol)?

在针对iOS8.0及更高版本的应用中,我想在iOS9.0及更高版本上使用SFSafariViewController,在旧设备上使用后备WebViewController。我需要那些ViewController符合协议(protocol)protocolSomeWebViewProtocol我可以直接为后备WebViewController(extensionFallBackViewController:SomeWebViewProtocol{...})执行此操作,但如何为SFSafariViewController执行此操作?if#available(iOS9,*){...}不是一个

swift - 当枚举符合协议(protocol) CustomStringConvertible 时,是否可以从变量中获取枚举描述?

当枚举符合协议(protocol)CustomStringConvertible时,是否可以从变量中获取枚举描述?简化的定义是:enummyEnum:CustomStringConvertible{caseone(p1:Int)casetwo(p:CGPoint)caseaaa1caseaaa2vardescription:String{return"uselesstext"}}没有协议(protocol)很容易:lettestCases=[en.one(p1:10),en.two(p:CGPoint(x:2,y:3)),en.aaa1,en.aaa2]testCases.forEac

Swift 3. Cast Any 到符合特定协议(protocol)的类

我有一个随机协议(protocol)作为例子protocoltestP{init(param1:String)}我有一个类,以Any作为参数为例:classtestC{varaClass:Any}我如何检查aClass是否符合协议(protocol)testP,如果符合,则使用协议(protocol)初始化程序创建一个新对象,例如:letnewObject=aClass(param1:"HelloWorld!")求助 最佳答案 您可以使用if-let将其作为其他类型检查进行测试:protocolTestP{init(param1:S

ios - 符合 MKAnnotation 协议(protocol)的类的自定义方法

我有一个类:classMyAnnotion:NSObject,MKAnnotation{lettitle:String?letsubtitle:String?letitem:MyCustomItemletcoordinate:CLLocationCoordinate2Dinit(customItem:MyCustomItem,currentLocation:CLLocation){coordinate=item.coordinatepageId="\(item.pageId)"title="\(item.title)"item=myCustomItem}//TODO:Eventhoug

protocols - 类型 'className -> () -> className!' 不符合协议(protocol)

我在摆弄Swift。我有一个协议(protocol)定义为protocoltimerProtocol{functimerFired()}持有对委托(delegate)的引用的类classStopwatch:NSObject{vardelegate:protocolinit(delegate:protocol){self.delegate=delegate}...}和一个实现协议(protocol)的类classStopwatchesTableViewController:UITableViewController,timerProtocol{functimerFired(){print