草庐IT

UIApplicationDelegate_Protocol

全部标签

swift - 协议(protocol)崩溃代码执行的约束

我得到了这段代码:importUIKitprotocolTestwhereSelf:UIView{funcprintAnything()}classMyView:UIView,Test{funcprintAnything(){print("Anything")}}letmyView:Test=MyView()myView.printAnything()约束是:whereSelf:UIView当您将其粘贴到playground中时,它会在运行时崩溃并出现以下错误:error:Executionwasinterrupted,reason:EXC_BAD_ACCESS(code=1,addr

ios - 如何在 Swift 中使用协议(protocol)初始化 UIView 和 UIViewController

我最近一直在尝试使用从RenéCacheaux中学到的技巧构建iOSView从代码轻松初始化UIViewControllers:classNiblessViewController:UIViewController{init(){super.init(nibName:nil,bundle:nil)}@available(*,unavailable,message:"Loadingthisviewcontrollerfromanibisunsupported.")overrideinit(nibNamenibNameOrNil:String?,bundlenibBundleOrNil:B

swift - 使用协议(protocol)一致性从一个函数返回两种类型

protocolPriceCalculatable{}extensionInt:PriceCalculatable{}extensionDouble:PriceCalculatable{}classPriceCalculator{staticfuncculculateFinalPrice(forproducts:[Product],applyingcoupon:Coupon?)->T{letx=products.reduce(0){price,productinreturnprice+product.price}varfinalPrice=Double(x)ifletcoupon=co

swift - 我可以创建一个继承自 'View' 的协议(protocol)来显示特定的 'View' 吗?

我正在尝试制作一些具有类似属性的SwiftUI-View。所以我想为他们制定一个协议(protocol)并显示该协议(protocol)的一个实例。protocolSpecialView:View{...}structSpecialViewA:View,SpecialView{...varbody:someView{Text("HelloWorld!")}}structContentView:View{varcurrentlyDisplayedView:someSpecialViewvarbody:someView{currentlyDisplayedView}}//inpreview

xcode - Swift:协议(protocol)有真正的用途吗?

我想知道为什么在swift中使用协议(protocol)。到目前为止,在每种情况下我都必须使用一个(UICollectionViewDelegate、UICollectionViewDataSource)我注意到它们甚至不必添加到类声明中我的代码就可以工作。他们所做的就是让你的类需要有特定的方法,这样它才能编译。打败我为什么这是有用的,而不是作为一个小便利贴来帮助你跟踪你的类(class)做了什么。虽然我假设我错了。请有人愿意向我指出原因吗? 最佳答案 Aprotocoldefinesablueprintofmethods,prop

ios - Swift 不符合协议(protocol)

将使用Swift6构建的应用程序转换为现在使用6beta的系统后,我收到“EventFormViewController不符合协议(protocol)UIPickerViewDataSource”。我已经为此苦苦挣扎了好几天,有什么建议吗?importUIKitvareventChoices=[["5","10","15","30","45","60","90","120","150","180"],["HospitalCommittee","PeerReview","EHRImprovement","QualityImprovement","BusinessDevelopment"]

swift - 在 Swift 类本身的协议(protocol)中使用在类中声明的枚举?

我们如何在Swift中执行前向声明之类的操作?我有一个在类之前声明的协议(protocol),但是协议(protocol)需要使用在类之前声明的枚举(recordType):protocoliCloudDelegate{funcerrorUpdating(error:NSError)funciCloudUpdated()funciCloudFetched(recordType:recordType)}classiCloud{enumrecordType:String{casePayment="Payment"caseSubtype="Subtype"caseTypes="Type"ca

swift - Swift 中协议(protocol)和泛型的限制

在某些情况下,两组交互的泛型类是一个很好的设计模式。一个简单的例子是Observable-Observer模式。observable向观察者发布事件,但无论观察的是什么类型的事件,模式都是相同的。我的第一个想法是,首选方法是定义两个通用协议(protocol)。这应该提供最小的耦合,随着代码库的增长,这往往是好的。protocolProtocolObserver{typealiasEventTypefuncupdate(observable:O,event:EventType)->Void}protocolProtocolObservable{typealiasEventTypefun

使用 `pow` 的 Swift 2 协议(protocol)扩展

我试图赋予任何数字以任意次方(特别是2)的能力。这似乎是使用协议(protocol)扩展而不是向Float、Double、Int等添加扩展的绝好机会。protocolRaisable{funcraise(exponent:Self)->Self}extensionRaisablewhereSelf:SignedNumberType{funcraise(exponent:Double)->Self{returnSelf(pow(Double(self),exponent))}}protocolSquarable:Raisable{funcsquared()->Self}extension

ios - Swift、协议(protocol)和变量值未存储...?

我是协议(protocol)和页面浏览Controller的新手,我尝试了一些我希望很简单的事情。将变量值从内容ViewController传递到页面ListViewController,但它不起作用,所以我做错了什么......在我的Storyboard中,我有一个ViewController(作为页面ListViewController)并嵌入在导航Controller中。导航栏上有一个按钮。有一个带有标签的PageContentViewController。我使用的代码如下(使用@TomElliott提供的公认解决方案进行编辑):protocolsetRoomOnScreenPr