草庐IT

objc-protocol

全部标签

ios - Swift 中任何协议(protocol)的通用约束

是否可以在Swift中限制泛型类型接受协议(protocol)?我已经实现了包含弱对象列表的包装器,我需要将其扩展到协议(protocol)。protocolIncrementable:class{funcinc()}classCounter:Incrementable{varn:Int=0funcinc(){n+=1}}structWeak{weakvarvalue:T?init(value:T?){self.value=value}}varcnt:Counter?=Counter()letcounters:[Weak]=[Weak(value:cnt),Weak(value:Cou

swift - 我如何在结构中实现这个协议(protocol)

我是Swift的新手,我想为数据库访问创建一个抽象工厂。这是我的协议(protocol)protocolIDAOFactory{associatedtypeDAO:IDAOfunccreateAccountDAO()->DAO}structRealmFactory:IDAOFactory{}protocolIDAO{associatedtypeTfuncsave(object:T)}protocolIAccountDAO:IDAO{}structAccountDAORealm:IAccountDAO{}如何实现structRealmFactory中的IDAOFactory和struct

swift - 在实现类型时针对已弃用的 Swift 协议(protocol)方法发出警告

假设我有一个带有bar()方法的协议(protocol),该方法具有默认实现—本质上是使协议(protocol)要求对于实现类型可选的Swift方式:protocolFoo{funcbar()}extensionFoo{funcbar(){print("defaultbar()implementaion")}}现在假设我决定重命名该方法barrrr(),因为越多r越好:protocolFoo{funcbarrrr()}extensionFoo{funcbarrrr(){print("defaultbarrrr()implementaion")}}现有代码可能仍会使用旧名称实现该方法:c

ios - Swift 中的 Objective-C 协议(protocol)

我正在使用Fusumacocoalpod框架。然而,我发现他们有一个Objective-C协议(protocol),甚至认为整个项目都是用Swift编写的。@objcpublicprotocolFusumaDelegate:class{funcfusumaImageSelected(image:UIImage)optionalfuncfusumaDismissedWithImage(image:UIImage)funcfusumaVideoCompleted(withFileURLfileURL:NSURL)funcfusumaCameraRollUnauthorized()optio

ios - Swift 3 面向协议(protocol)编程导致随机 SIGBUS 崩溃

我负责一个完整的Swift3应用程序,经常发生的崩溃之一是一个我根本无法理解的SIGBUS信号:Thread0Crashed:0libswiftCore.dylib0x00000001009b4ac80x1007b8000+20835281LeadingBoards@objcPageView.prepareForReuse()->()(inLeadingBoards)(PageView.swift:0)+11141962LeadingBoardsspecializedReusableContentView.reuseOrInsertView(first:Int,last:Int)->(

swift - 在泛型函数中使用协议(protocol)的关联类型

我正在尝试编写一个简单的MVP模式以在我的应用程序中遵循,因此我编写了两个协议(protocol)来定义ViewController和演示者:protocolPresenterType:class{associatedtypeViewController:ViewControllerTypevarviewController:ViewController?{getset}funcbind(viewController:ViewController?)}protocolViewControllerType:class{associatedtypePresenter:PresenterTy

objective-c - 如何在 Swift 中将 Objc-C NSUInteger[] = {0,1,2} 表示为 UnsafeMutablePointer<UInt>?

Objc-Cheader定义:-(int)printPDFAtPath:(NSString*)pdfPathpages:(NSUInteger[])indexeslength:(NSUInteger)lengthcopy:(int)nCopy;使用此函数的示例objc-C代码:NSUIntegerpageIndexes[]={0};printResult=[self.ptpprintPDFAtPath:selectedPDFFilePathpages:pageIndexeslength:lengthcopy:self.numberOfPaper];swift期望:funcprintPD

xcode - 删除 ObjC 版本后,无法将 IBOutlet 或 IBAction 连接到用 Swift 编写的 View Controller

我在XCode5中创建了一个项目并将其导入到XCode6beta中,后来我决定要用Swift重写其中一个ViewController。所以我首先删除了Controller文件(.h和.m)并在Swift文件扩展名中添加了名为controller的相同类。现在,当我尝试通过按住ctrl从小部件拖动到文件来连接Storyboard中的socket和Action时,我无法创建新连接。这是一个错误还是我需要做其他事情才能让它工作? 最佳答案 似乎是Xcode6中的错误。您可以通过将身份检查器中的ViewController自定义类更改为另一

ios - 如何在 Swift 中使用 SKPSMTPMessageDelegate 协议(protocol)?

我正在使用SKPSMTPMessage发送邮件,但是当我添加函数时我需要SKPSMTPMessageDelegate。我添加这个:classViewController:UIViewController,SKPSMTPMessageDelegate但我收到错误:类型“ViewController”不符合协议(protocol)“SKPSMTPMessageDelegete”我不知道如何添加它,因为我需要在@objc协议(protocol)中写入什么??@objcprotocolSKPSMTPMessageDelegate{//codehere?}谢谢! 最佳

ios - 子类化 MKAnnotation 错误,符合协议(protocol)

我查看了其他关于子类化的堆栈溢出问题的代码和片段。我想要做的就是子类化MKAnnotation。我正在使用Xcode6.3。此代码适用于我friend的,但不适用于我的。我收到一个Type'Annotation'doesnotconformtoprotocol'MKAnnotation'错误importFoundationimportMapKitimportUIKitclassAnnotation:NSObject,MKAnnotation{varlocation:CLLocationCoordinate2Dvartitle:Stringvarsubtitle:Stringinit(l