问题标签 [objective-c-protocol]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - 协议与类别
谁能解释一下Objective-C 中协议和类别之间的区别?你什么时候使用一个而不是另一个?
java - 将协议中的 @optional 选择器移植到 Java 接口
所以,假设你有这个:
而且两者bar:
都有mux:
副作用。
如果协议(接口)中没有 @optional 成员之类的东西,您将如何将其移植到 Java?
我可以想到三种方法:
- C方式:向接口添加一个方法,该方法返回一个位域,表示哪些方法已实现且有效。
- COM方式:修改接口,使所有方法都返回一个结果码并检查E_NOTIMPL。使用 out 参数作为返回值。
- (我想象的是)Java 方式:将每个接口方法标记为抛出 UnsupportedOperationException 并捕获它们以检查未实现的方法。
我是否错过了任何其他令人信服的选择?假设这段代码不经常被调用,所以我们不需要优化性能,我认为 3 是最好的方法,因为它是可执行的。有替代方案的论据吗?
objective-c - 如何在协议中查找所需的方法?
这就是我所做的。在 Chrome 或 Xcode 中查找协议的苹果文档时,我 Cmd-F 搜索“必需”。如果结果为零,我得出结论,该协议中的所有方法都是可选的。
我做对了吗?还是有任何“正式”的方式?
ios - 在符合 MKAnnotation 协议的同时动态创建 CLLocationCoordinate2D
我有MyClass
符合MKAnnotation
协议的。根据文档,需要类来实现coordinate
应该返回CLLocationCoordinate2D
实例的属性。我的第一个实现是这样的:
但这没有用:每当我调用[self.mapView addAnnotation:instanceOfMyClass];
它时,它根本就没有添加到 ! 的annotations
数组中mapView
。
_coordinate
因此,对我来说,解决方案是在其中定义一个实例变量MyClass
并实现协议一致性,如下所示:
现在起作用了。所以,这里的问题是为什么需要一个实例变量并且动态创建CLLocationCoordinate2D
不起作用?
objective-c - 如何枚举符合 NSFastEnumeration 的任意集合
我试图枚举一堆对象,根据情况,这些对象可能是 NSArray 或 NSOrderedSet。由于两者都符合 NSFastEnumeration,我希望这可以工作:
但是,我收到以下编译器错误:
选择器“objectEnumerator”没有已知的实例方法。
我怀疑这里有一些语法错误,我之前没有使用 id 构造。我可以将一组或两组转换为一个通用类,但如果可能的话,我想更好地了解这里发生了什么。
objective-c - Objective C 类声明语法
我需要一些帮助来理解 Objective C 中的类声明语法,或者更具体一些
UITableViewDataSource,UITableViewDelegate 是什么意思
我的理解是当类被实例化时它接收这两个对象。如果我错了,请纠正我..
objective-c - 代表没有调用方法
所以我有一个问题。有人可以告诉我这行代码调用(协议)方法的问题吗
poplogin 是方法名称,由于某种原因它不起作用。它没有调用方法poplogin
以供参考 :
所以让我解释一下这个案子
所以可以说我有一个类 abc.h
接口后
objective-c - 子类实现自己的协议委托
我是iOS新手,不知道这是否可能。
基本上我有两个班级父母和孩子。
Parent 有一个符合 ParentProtocol 的委托。但是,Child 中的委托不仅符合 ParentProtocol,还符合另一个 ChildProtocol。
那么是否可以做到以下几点?
objective-c - 有没有办法只允许 UIViewControllers 遵守协议?
有没有办法做这样的事情(下面不起作用):
所以实现“ElementPicker”的对象必须继承自UIViewController
?
objective-c - 符合协议列表
我有一个条件,我希望视图控制器符合 4 个协议中的任何一个。
有没有办法检查它是否符合这 4 个协议中的任何一个,而无需在我的 if 中执行一堆 or 语句?
你能制作一系列协议吗?