gpt4 book ai didi

ios - : @synthesize variableName = __ variableName; 的用途是什么

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:58:08 26 4
gpt4 key购买 nike

在我的 Xcode Apple 模板中,managedObjectContext 在 AppDelegate.m 中合成如下:

@synthesize managedObjectContext = __managedObjectContext;

我从来没有理解过 = __managedObjectContext; 部分。请问有人可以解释吗?(是调用'managedObjectContext'方法吗?)

谢谢。

最佳答案

这是为支持实例变量命名__managedObjectContext。如果您只是@synthesize managedObjectContext,支持变量被命名为managedObjectContext

不过,使用这个@synthesize,就好像你输入了:

@implementation MyObject {
ManagedObjectContextType __managedObjectContext;
}

- (ManagedObjectContextType)managedObjectContextType {
return __managedObjectContext;
}

- (void)setManagedObjectContext:(ManagedObjectContextType *)managedObjectContext {
__managedObjectContext = managedObjectContext;
}

(是的,我简化了一点。)

以前,@synthesize 是必需的。现在,在大多数情况下你可以跳过它。当您跳过它时,它相当于 @synthesize managedObjectContext = _managedObjectContext(注意单下划线)。

它仍然有一些用处:如果您不包含 @synthesize 语句但包含 setter/getter,编译器将不会自动为您创建支持变量。即使您通过包含 @synthesize thing = _thing 来包含 getter/setter,您也可以这样做。

关于ios - : @synthesize variableName = __ variableName; 的用途是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24737192/

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