Swift中的internal(set)
访问修饰符允许在同一模块中更改属性,但不能从外部更改。我很好奇它是否具有Objective-C等价物,以及我如何实现它。
答案 0 :(得分:1)
AFAIK,Objective-C中没有等效物。
但是你可以隐藏模块外部的setter(Framework)。例如:
MyObject.h
:公开标题
#import <Foundation/Foundation.h>
@interface MyObject : NSObject
// `readonly` for public
@property (strong, nonatomic, readonly) NSString *myProp;
@end
MyObject-Internal.h
:项目标题
#import "MyObject.h"
@interface MyObject ()
// NOT `readonly` for internal
@property (strong, nonatomic) NSString *myProp;
@end
然后,您可以在模块内的MyObject-Internal.h
代码中使用.m
。