gpt4 book ai didi

objective-c - 私有(private)方法显示为公共(public)方法

转载 作者:太空狗 更新时间:2023-10-30 04:00:43 24 4
gpt4 key购买 nike

我正在尝试使用私有(private)方法改进我的应用程序的设计。来自 .NET 我有点困惑,因为我在 .m 文件中声明了这些方法,但在其他文件中它们仍然出现,即它们仍然可以访问。

.m文件:

@interface NSContentWebServiceController (private)

- (NSString *)flattenHTML:(NSString *)html;
- (NSString *)cleanseStringOfJsonP:(NSString *)jsonP;
- (void)retrieve:(NSasdf *)hasdel :(NSDictionary *)rootList;
- (NSString *)removeHTMLTagsFromString:(NSString *)aString;

@end

最佳答案

正如 JoostK 所说,Objective-C 中没有像 C++、Java 或 C# 中那样的私有(private)方法。

最重要的是,表达式 @interface NSContentWebServiceController (private) 在 Objective-C 中定义了一个所谓的类别。术语private 只是类别的名称,没有任何意义。在此处使用类似 yellowBunny 的内容会产生相同的效果。类别只是将类分解为多个部分的一种方式,但在运行时所有类别都有效。请注意,类别只能向对象类添加新方法,而不能添加新变量。

对于私有(private)类别,现在首选使用匿名类别,如 @interface MyClass(),因为这样您就不需要单独的 @implementation MyClass(yellowBunny) block ,但可以只将方法添加到主 @implementation block 。

参见 "Categories" section in the Wikipedia entry on Objective-C获取更多信息。

关于objective-c - 私有(private)方法显示为公共(public)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3811817/

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