问题标签 [class-cluster]
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.
ios - 在 UILabel et.al 中使用 NSString 子类
我需要将其他数据编码为NSString
(长话短说,请不要问为什么......)
我使用此处NSString
概述的方法进行了子类化:
当我将这些子类之一分配为UILabel's
文本时,我希望在询问标签文本时将其取回。但事实并非如此。(我得到了一个 NSString 集群实例)
有解决办法吗?
objective-c - 我创建了一个 NSArray 的实例,而它的类不是 NSArray 而是 __NSArrayI?
我有以下代码:
我希望两个输出都是NSArray
,但是输出结果是:
然后我创建一个名为的测试类CAJTestClass
并创建该类的一个实例:
这次输出变为:
这一次的结果是我所期望的。但为什么会[anArray class]
成为一个__NSArrayI
?
“Effective Objective-C”的解释是它NSArray
是“类集群”的一部分(我认为这是一系列具有继承关系的类)。但CAJTestClass
也是 的子类NSObject
。我错了吗?
编辑:感谢您的所有回答。但是我的问题是,如果它应该有助于“类集群”的事务,为什么我会在这两种情况下得到不同的结果?
ios - 在 Objective-C 中使用私有类时如何隐藏它?
问题
在 Objective-C 中使用私有类时如何隐藏它?
例如,如下所述
PrivateFilter
是我要隐藏的类。
CustomFilter
是我做的课,是开放的。
GPUImageFilter
是 Github 上的 public 类,也是开放的。并且CustomFilter
实际上包装了PrivateFilter
.
可能的解决方案
所以有两种解决方案:
解决方案一:类集群
查看Apple 文档A Composite Object: An Example
中的示例。我按照这些步骤制作了以下代码。
但不知何故它不起作用,所以我尝试了解决方案2。
解决方案 2:使用 PrivateFilter 初始化
这行得通,但alloc
在init
. 所以我尝试解决方案3。
解决方案3:工厂类方法
这可行,但它不能被继承,就像类集群一样。
重复问题
那么哪个是最好的解决方案?或者还有其他好的解决方案吗?
cocoa - macOS 12.0.1 (Monterey) XIB 无法加载;抛出异常“这个编码器期望被替换的对象......从 NSClassSwapper 返回”
我有包含自定义对象的 XIB,其中一个实际上是一个类集群,其-init
方法总是返回相同的单例对象。
基本上:
从 macOS 12.0.1 开始,加载 XIB 会引发此异常:
This coder is expecting the replaced object 0x600002a4f680 to be returned from NSClassSwapper.initWithCoder instead of <DDHelpLink: 0x600002a487a0>
我尝试实施<NSSecureCoding>
并做同样的事情,但这也不起作用。
还有一种方法可以在 NIB 中使用类集群吗?