【问题标题】:Property has a previous declaration on XCode 13 [duplicate]属性在 XCode 13 上有一个先前的声明 [重复]
【发布时间】:2021-12-07 07:01:17
【问题描述】:

尝试在 Xcode 13.0 上启动项目。项目在 Xcode 11.7 上启动,没有问题。尝试在 Xcode 13 上启动时,在构建应用程序时会出现问题。

Property 对 MyClass+CoreDataProperties.h 的每个属性都有一个先前的声明

它似乎正在创建完全相同的 MyClass+CoreDataProperties.h 文件,并将原始文件视为原始文件,并将构建文件视为重复的属性文件。

我什至已经从 Build Phases -> Compile Sources 中删除了这些文件。我有完全相同的文件结构和另一个命名,它工作正常。

文件看起来像这样:

#import "MyClass.h"

NS_ASSUME_NONNULL_BEGIN

@interface MyClass (CoreDataProperties)

+ (NSFetchRequest<MyClass *> *)fetchRequest NS_SWIFT_NAME(fetchRequest());

@property (nullable, nonatomic, copy) NSNumber *choice;
@property (nullable, nonatomic, copy) NSString *content;
@property (nullable, nonatomic, copy) NSString *correctAnswer;
@property (nullable, nonatomic, retain) NSObject *extraData;
@property (nonatomic) BOOL isCorrect;
@property (nullable, nonatomic, copy) NSDate *timeAnswered;
@property (nullable, nonatomic, copy) NSDate *timeAsked;

@end

NS_ASSUME_NONNULL_END

【问题讨论】:

  • 如果您自己创建了子类,请导航到 Core Data 模型文件,选择一个实体,按 ⌥⌘4 显示 Data Model Inspector 并将 Codegen 设置为 Manual/None我>
  • @vadian 我相信 CoreDataProperties 和 CoreData 本身来自一个包 CoreData.framework。 ⌥⌘4 不打开任何东西。它应该怎么做?
  • 你应该有一个模型文件(以xcdatamodel结尾)
  • 是的,它修复了一个错误,尽管现在它显示了另一个错误:未定义的架构 x86_64 符号:“_OBJC_CLASS_$_MyClass”,引用自:DataManager.o ld 中的 objc-class-ref:符号( s) not found for architecture x86_64 or on the warnings and errors sidebar says: Undefined symbol: _OBJC_CLASS_$_MyClass 不确定是否应该考虑修复此问题。

标签: objective-c xcode xcode13


【解决方案1】:

正如@vadian 在 cmets 中提到的问题,解决方案是找到 .xcdatamodel 文件并将 Codegen 更改为 Manual/None。

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-02
  • 2014-02-06
  • 1970-01-01
  • 2014-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多