gpt4 book ai didi

Objective-C 相当于 Swift 中的 internal(set)

转载 作者:行者123 更新时间:2023-11-28 07:11:24 27 4
gpt4 key购买 nike

Swift 中的 internal(set) 访问修饰符允许在同一模块内更改属性,但不能从外部更改。我很好奇它是否有等效的 Objective-C,以及我如何实现它。

最佳答案

据我所知,在 Objective-C 中没有等价物。

但是您可以隐藏模块(框架)之外的 setter 。例如:

MyObject.h:作为Public header

#import <Foundation/Foundation.h>

@interface MyObject : NSObject
// `readonly` for public
@property (strong, nonatomic, readonly) NSString *myProp;
@end

MyObject-Internal.h:作为项目 header

#import "MyObject.h"

@interface MyObject ()
// NOT `readonly` for internal
@property (strong, nonatomic) NSString *myProp;
@end

然后,您可以在模块内的.m代码中使用MyObject-Internal.h

关于Objective-C 相当于 Swift 中的 internal(set),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28299270/

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