0

我知道您可以拥有@private 成员变量,但是否有办法阻止代码调用您的类的默认 init: 方法并强制创建和使用您的对象的代码仅使用另一个初始化程序,例如 initWithOptions:

我浏览了一些 Objective-C 书籍,但没有立即看到任何东西。

我已经看到堆栈溢出主题建议抛出异常,或断言/中止/如何防止使用除我在 Objective-C 中的自定义方法之外的其他初始化方法

以及 depreciated 关键字的使用 如何在 iPhone Objective C 头文件中将函数标记为已弃用?

这两个似乎都不是优雅的解决方案,在Objective-C中真的没有面向语言的优雅方式来说doesNotImplmentSelector ...?

我来自 C++ 背景,只是有点像隐藏默认构造函数的能力......

R。

4

1 回答 1

0

我认为标准的做法是使用一组默认选项调用 initWithOptions: 的 init 实现。

于 2013-04-23T00:45:33.510 回答