草庐IT

compact_protocol

全部标签

ios - 无法从我的协议(protocol)类调用委托(delegate)方法

我在一个类中有一个协议(protocol):@protocolDataStorageManager-(void)saveFile;@end@interfaceDataManager:NSObject{iddelegate;}@property(nonatomic,assign)iddelegate;//methods@end及其实现:@implementationDataManager@synthesizedelegate;@end我还有另一个类,它是第一个和第三个之间的适配器:#import"DataManager.h"#import"DataPlistManager.h"@inte

ios - 来自协议(protocol)的无法识别的选择器

更新:找到问题,找到解决方案并标记为答案。问题是我使用父类(superclass)的静态方法进行初始化,从而将其变成父类(superclass)而不是子类。结束更新:我有一个协议(protocol),一个实现该协议(protocol)的类,然后是一个创建调用协议(protocol)方法的协议(protocol)类实例的类。调用该协议(protocol)方法时,我收到“无法识别的选择器发送到实例...”。注意:我正在使用ArcGIS来显示map,但这应该与我的问题无关。协议(protocol)方法(layerName)在运行时稍后在另一个实现LayerProtocol的对象上工作。示例代

ios - 如何查看 Objective-C 协议(protocol)的内容?

如果我可以访问objective-C协议(protocol)并试图弄清楚如何查看它的内部以查看它包含哪些方法,包括它们的签名等。我已经尝试过NSLog并在调试器中以及在Internet上查看对象,但找不到任何方法来执行此操作。 最佳答案 在看到这篇SO帖子的答案后,我检查了objc/runtime.h中的方法:ListselectorsforObjective-Cobject并找到了一种方法来NSLog协议(protocol)的方法签名#importProtocol*protocol=@protocol(UITableViewDel

ios - 面向协议(protocol)的编程和 Class Swift

我正在尝试从一个流行的教程站点实现面向协议(protocol)的类观看教程。到目前为止,我得到的一切都是正确的,但由于某种原因,其中一个属性没有被更新,而其他属性被更新。这是代码:protocolPaintable:class{varprimaryBodyColor:String{getset}varsecondaryBodyColor:[String]?{getset}funcpaint(newPrimaryColor:String,newSecondaryColor:[String]?)}extensionPaintable{varprimaryBodyColor:String{g

ios - 如何从 Compact :Regular to Any:Any 传输接口(interface)

我在使用Compact:Regular构建界面时犯了错误。现在我的客户想在之后获得iPad支持。但是由于我创建了“仅适用于iPhone”的界面,因此Any:Any界面是空的...有没有比重建整个界面更快的传输方式?非常感谢您的帮助。 最佳答案 我认为您需要调整一些(如果不是全部)约束,但有一种非常简单的方法可以传输所有对象。在属性检查器的底部选择对象(比如标签)时,您会发现一些名为“已安装”的复选框。由于您在Compact:Regular中构建了界面,因此您将拥有2个复选框。C:R和一个“空白”。空白的是Any:Any并且默认未选中

IOS 毒蛇 : How protocol helps in Unit Testing?

我对VIPER架构中的协议(protocol)的好处有点困惑。我了解DI(依赖注入(inject))是通过协议(protocol)实现的,有助于避免对象之间的直接依赖-我同意。但我从使用的角度来看真正的好处,一个例子可能是-特别是协议(protocol)如何帮助在单元测试中受益(测试交互器部分)。我们不能通过方法回调的使用block来实现同样的目标吗?希望有人能通过一些例子帮助我从使用的角度理解干杯 最佳答案 使用回调,例如从Interactor到Presenter,会使测试Presenter变得更加困难。在为Presenter如何

ios - 如果忽略“UIGestureRecognizerDelegate”的重复协议(protocol)定义,如何定义目标

更新2即使问题仍然存在,当前形式的问题也已得到回答和接受。该代码现在以0警告进行编译,但仍然对手势无响应。解决问题后,将希望通过准备新问题的过程来更新代码。一个新问题已发布here。据我所知,在我所阅读的任何帖子中都从未问过或回答过这个问题(请参阅下面的重复内容)。我正在尝试编写ObjectiveC测试代码,以从iPhone屏幕上由矩形UIView定义的任何区域中长按,点击或移动消息。到目前为止,如果UILongPressGesture,和handler方法都位于UITapGesture中,则我可以使用UIPanGestureUIView或UIViewController可靠地发送离散

ios - 在没有共享协议(protocol)变量的情况下,是否可以平等地访问不同(尽管相同)的结构?

我正在为我的项目使用一些自动生成的代码。在这些文件中,一些创建的结构在字面上是相同的,尽管名称不同。举个简单的例子,假设它们看起来像这样:structFromPlace:CoreClass{letid:Stringletname:String}structToPlace:CoreClass{letid:Stringletname:String}是的是的,我知道,应该只存在一个structPlace:CoreClass。我在这件事上别无选择,因为这段代码是在很远很远的地方自动生成的。只是逗我解决这个问题,好吗?:)CoreClass是它们的共同点,但与此关系不大。我也无法更改文件。它被锁

ios - Obj-c,我可以使用协议(protocol)作为函数参数的一种参数类型吗?

我正在创建一个cocoatouch框架来在我的应用程序之间共享一些通用代码。我需要将一个类的实例传递给一个方法,该方法具有一些特定的属性。该方法将从应用中调用。我对使用协议(protocol)还很陌生。我是否应该在我的框架中创建一个协议(protocol)h文件,其中包含函数所需的所有属性。如果可以,我可以将协议(protocol)作为实例变量的类型传递给函数吗?如果不是怎么实现呢? 最佳答案 是的,你可以。这是一个例子。首先,在.h文件中声明您的协议(protocol):@protocolVehicle@propertyNSNum

ios - 符合协议(protocol)的类 - 编译时检查

这是有效的语法吗?@property(nonatomic,strong)ClassmyClass;SomeProtocol定义为:@protocolSomeProtocol@required+(BOOL)isAllowed;@end我想强制执行编译时检查,这样当一个类(例如UIViewController)没有实现所需的isAllowed方法时,编译器会报错myClass属性。附言当我传入一个不符合SomeProtocol协议(protocol)的类时,我没有收到编译器警告或错误。 最佳答案 它在语法上是有效的,但正如您所发现的,它