gpt4 book ai didi

objective-c - 创建一个没有 init 方法的类(Objective-c)

转载 作者:太空狗 更新时间:2023-10-30 03:32:25 24 4
gpt4 key购买 nike

是否可以创建一个没有 init 方法的类,以强制所有调用者使用工厂方法创建对象?

最佳答案

所以基本上,您要确保您的类永远不会使用 -init 进行初始化,对吗?你不能完全做你想做的事,但你可以接近。

因为您继承自 NSObject,所以您有一个 init 方法,您无法阻止它被调用。也就是说,您可以将 init 重写为:

- (id)init
{
[self dealloc];
@throw [NSException exceptionWithName:@"MyExceptionName" reason:@"Reason" userInfo:nil];
return nil;
}

这样,只要有人调用你的 -init 方法,它就会杀死对象,所以实际上,你的 init 方法几乎是不可调用的。

关于objective-c - 创建一个没有 init 方法的类(Objective-c),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2188488/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com