问题描述
我正在开发Objective-C应用程序并将Realm用于数据存储。我已经在文件WordsList.h
中创建了一个从RLMObject继承的类。
#import <Realm/Realm.h>
#import "Word.h"
RLM_ARRAY_TYPE(Word)
@interface WordsList : RLMObject
@property NSString *name;
@property NSString *basicLanguage;
@property NSString *learnedLanguage;
@property RLMArray<Word *><Word> *words;
@end
@implementation WordsList
+ (NSArray *)requiredProperties {
return @[@"name",@"basicLanguage",@"learnedLanguage",@"words"];
}
@end
我需要在两个控制器中分别在TableViewController
和VocabularyViewController
中创建此类的对象,因此我在"import WordsList.h"
文件(.h
中TableViewController.h
VocabularyViewController.h
)。我在下面介绍它们:
#import "VocabularyViewController.h"
#import "LanguagesViewController.h"
#import "ListNameCell.h"
#import "WordsList.h"
@interface TableViewController : UITableViewController <UISearchBarDelegate,LanguagesViewControllerDelegate,UIGestureRecognizerDelegate>
@property (weak,nonatomic) IBOutlet UISearchBar *searchBar;
@property (nonatomic,retain) RLMResults<WordsList *> *wordsLists;
@property (atomic,retain) RLMRealm *realm;
@end
#import <UIKit/UIKit.h>
#import <Realm/Realm.h>
#import "WordCell.h"
#import "WordsList.h"
@interface VocabularyViewController : UIViewController <UITableViewDataSource,UITableViewDelegate>
@property (nonatomic,weak) NSString *vocabularyListName;
@property (weak,nonatomic) IBOutlet UIButton *startButton;
@property (weak,nonatomic) IBOutlet UIButton *addNewButton;
@property (weak,nonatomic) IBOutlet UITableView *tableView;
@property (weak,nonatomic) WordsList* parentList;
@end
如果我在"import "WordsList.h"
中键入VocabularyViewController.h
,则会出现编译错误:架构x86_64的10个重复符号。确切的错误如下所示:
duplicate symbol '_OBJC_IVAR_$_Word._learnedLanguageText' in:
/Users/art/Library/Developer/Xcode/DerivedData/Wordee-fafzcjxmbshrdqcvppmrdbdlvzze/Build/Intermediates.noindex/Wordee.build/Debug-iphonesimulator/Wordee.build/Objects-normal/x86_64/VocabularyViewController.o
/Users/art/Library/Developer/Xcode/DerivedData/Wordee-fafzcjxmbshrdqcvppmrdbdlvzze/Build/Intermediates.noindex/Wordee.build/Debug-iphonesimulator/Wordee.build/Objects-normal/x86_64/TableViewController.o
duplicate symbol '_OBJC_IVAR_$_Word._basicLanguageText' in:
/Users/art/Library/Developer/Xcode/DerivedData/Wordee-fafzcjxmbshrdqcvppmrdbdlvzze/Build/Intermediates.noindex/Wordee.build/Debug-iphonesimulator/Wordee.build/Objects-normal/x86_64/VocabularyViewController.o
/Users/art/Library/Developer/Xcode/DerivedData/Wordee-fafzcjxmbshrdqcvppmrdbdlvzze/Build/Intermediates.noindex/Wordee.build/Debug-iphonesimulator/Wordee.build/Objects-normal/x86_64/TableViewController.o
duplicate symbol '_OBJC_CLASS_$_WordsList' in:
/Users/art/Library/Developer/Xcode/DerivedData/Wordee-fafzcjxmbshrdqcvppmrdbdlvzze/Build/Intermediates.noindex/Wordee.build/Debug-iphonesimulator/Wordee.build/Objects-normal/x86_64/VocabularyViewController.o
/Users/art/Library/Developer/Xcode/DerivedData/Wordee-fafzcjxmbshrdqcvppmrdbdlvzze/Build/Intermediates.noindex/Wordee.build/Debug-iphonesimulator/Wordee.build/Objects-normal/x86_64/TableViewController.o
...
我已经尝试了许多在本网站和互联网上找到的解决方案,
重新安装该库,删除Obj-C标志,将“ NO COMMON BLOCKS”设置为NO
,删除DerivedData,但没有效果:/有没有人遇到过类似的问题?这是Realm库错误吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)