草庐IT

protocol-extension

全部标签

ios - Swift 类指针作为?类协议(protocol)?

我有一个类,我们称它为SomeClass。SomeClass的实例有一个可选的指向SomeOtherClass的指针。这样就可以实例化SomeClass的实例,给定一个指向SomeOtherClass(或者SomeOtherClass的子类)的指针,然后这个指针就可以用来动态创建属于SomeClass的这个SomeOtherClass的实例。例如;classSomeClass{varclassPointer:SomeOtherClass.Type?}classSomeOtherClass{}到目前为止一切顺利。现在,我有一个协议(protocol)-让我们称之为SomeProtocol

ios - swift 采用的 objective-c 协议(protocol)

这是放置在我使用的框架中的objectivec协议(protocol)@protocolAWSDKDelegate/**@abstractAWSDKDelegateinitializationlifecyclenotificationstoinformyourappofsuccessorfailureinSDKinitializationandprofileretrieval.*/-(void)initialCheckDoneWithError:(NSError*)error;-(void)receivedProfiles:(NSArray*)profiles;/**@abstract

ios - 使用 App Extension 的 VPN 连接

我正在使用NEVPNManager来配置和连接VPN连接。在应用程序中工作得很好。现在我正在集成Today'sAppExtension来连接VPN。我面临的问题是扩展和应用程序正在创建不同的配置文件。如何在App和AppExtension中使用单个VPN配置文件? 最佳答案 对于任何有同样情况的人。使用共享钥匙串(keychain)空间,它将帮助您来回传输数据。谢谢。 关于ios-使用AppExtension的VPN连接,我们在StackOverflow上找到一个类似的问题:

ios - 我正在尝试将 Firebase 添加到我的 Today Extension。它不会让我将 firebase 导入我的 View Controller

如标题所说:我正在尝试将Firebase中的数据添加到我的TodayExtension。我已经添加了我的主要项目中的所有框架,现在我正在尝试将Firebase“导入”到今天扩展的.swift文件中,但找不到它。我使用的是Swift2.3和最新版本的Firebase。此外,我对开发非常陌生,所以虽然我对工具和语言非常熟悉,但我并不完全确定一切是如何连接的,所以我很难排除故障。(而且Google没有提取任何相关信息。)我没有将GoogleInfoplist文件添加到应用程序扩展或pod文件中。但所有这些都在主项目中并且工作得很好。任何帮助都会很棒。谢谢! 最佳答

Swift 协议(protocol)继承和协议(protocol)一致性问题

protocolBasePresenterProtocol:class{}protocolDashboardPresenterProtocol:BasePresenterProtocol{}finalclassDashboardPresenter{weakvarview:DashboardPresenterProtocol?init(){self.view=DashboardViewController()}functest(){print("Hello")}}extensionDashboardPresenter:DashboardViewProtocol{}protocolBase

iOS 沙发底座 : Shared CBL manager between app and app extension

我正在尝试在iOS应用程序和应用程序扩展之间实现一个共享的couchbase数据库,但是这两个目标之间存在一致性问题。当应用程序管理器删除couchbaseliteiOS中的数据库文档时,应用程序扩展管理器就会过时。有谁知道如何将此删除通知扩展管理器?数据库保存在共享App组中。我已尝试在我的扩展中为数据库创建一个拉式复制,但没有按预期工作。如果我每次从我的扩展程序读取数据库时都创建一个新管理器,它会按预期工作,但这将为每次读取创建一个新线程。谢谢! 最佳答案 这blog和关联的示例应用说明了iOS应用和Today应用扩展之间的数据

ios - 类是否可以显式调用协议(protocol)扩展的方法?

假设存在以下协议(protocol),其中包含扩展提供的someFuncWithDefaultImplementation()的默认实现。那么MyClass2是否有可能同时提供自己的someFuncWithDefaultImplementation()实现,它还从扩展中调用该方法的默认实现?protocolMyProtocol:class{funcsomeFuncWithDefaultImplementation()funcsomeFunc()varsomeInt:Int{getset}}extensionMyProtocol{funcsomeFuncWithDefaultImplem

ios - 协议(protocol)中的默认实现不适用于我的情况

我在这个例子中模拟了我的情况:protocolMyProtocol{funcdoSomething()}extensionMyProtocol{funcdoSomething(){print("Dosomething")}}classMyViewController:UIViewController,MyProtocol{letbutton=UIButton()overridefuncviewDidLoad(){super.viewDidLoad()button.addTarget(self,action:#selector(doSomething),for:.touchUpInsid

ios - 仅获取协议(protocol)中定义的属性在修改对象的内部属性时导致编译错误

考虑这样的代码:protocolSomeProtocol{varsomething:Bool{getset}}classSomeProtocolImplementation:SomeProtocol{varsomething:Bool=false{didSet{print("somethingchanged!")}}}protocolMyProtocol{varmyProperty:SomeProtocol{get}}classMyClass:MyProtocol{varmyProperty:SomeProtocol=SomeProtocolImplementation(){didSe

ios - 静态成员不能用于协议(protocol)元类型

我想要完成的是制作代理协议(protocol),将我的类(class)路由到适当的服务。我为每个代理提供3种类型的服务:OnlineService、OfflineService、DemoService,每种服务用于一种模式(在线、离线、演示)。我创建了协议(protocol):protocolProxy{associatedtypeServiceProtocolassociatedtypeOfflineServiceType:OfflineServiceassociatedtypeOnlineServiceType:WebServiceassociatedtypeDemoService