iOS 静态库私有方法和属性
iOS Static library private methods and properties
我想创建一个静态库。我有一个 class 例如 Class_A
。这是一个 public class。所以我将 Class_A.h
添加到 Public Headers
部分。但是 Class_A
有一些我在库中使用的内部方法和属性,我想隐藏它们以供 public 使用。是否有可能一些如何从 public 使用隐藏私有方法属性和变量(我不希望其他开发人员看到它们。例如 UIKit classes 如何做到这一点),并取消隐藏以供内部使用?
在私有 Header 文件中创建私有扩展 "Class_A_Private.h"(您可以随意命名私有 header)。
#import "Class_A.h"
//-----------------------------------------------------------------------------
#pragma mark - Class Extension
@interface Class_A ()
// Some properties and methods here.
@end
现在将您的私有扩展导入 "Class_A.m" 和其他源文件中:
#import "Class_A_Private.h"
确保您没有将 "Class_A_Private.h" 包含在 public header 的列表中,而是将它们标记为私人 header。
参考:使用Class扩展隐藏私人信息
我想创建一个静态库。我有一个 class 例如 Class_A
。这是一个 public class。所以我将 Class_A.h
添加到 Public Headers
部分。但是 Class_A
有一些我在库中使用的内部方法和属性,我想隐藏它们以供 public 使用。是否有可能一些如何从 public 使用隐藏私有方法属性和变量(我不希望其他开发人员看到它们。例如 UIKit classes 如何做到这一点),并取消隐藏以供内部使用?
在私有 Header 文件中创建私有扩展 "Class_A_Private.h"(您可以随意命名私有 header)。
#import "Class_A.h"
//-----------------------------------------------------------------------------
#pragma mark - Class Extension
@interface Class_A ()
// Some properties and methods here.
@end
现在将您的私有扩展导入 "Class_A.m" 和其他源文件中:
#import "Class_A_Private.h"
确保您没有将 "Class_A_Private.h" 包含在 public header 的列表中,而是将它们标记为私人 header。
参考:使用Class扩展隐藏私人信息