从mac到笔记本电脑的Xcode拷贝显示错误

时间:2014-07-08 02:36:19

标签: ios xcode

我主要是在我的MAC上进行开发,有时我会使用我的macbook将我的项目文件带到USB-Stick上,所以我可以在不在家的情况下处理事情。

到目前为止它工作得很好,我得到了一堆语义错误,说:

"editSetting.settingAnimateSelection = @NO;"

错误:在'Setting *'

类型的对象上找不到“属性'editSetting.settingAnimateSelection'

settingAnimateSelection以及我添加到CoreData结构中的其他两个项目,当我添加它们时,我在我的mac上生成了NSManagedSubclass,它们在

中声明/定义
setting.h
@property (nonatomic, retain) NSNumber * settingAnimateSelection;

也在

setting.m
@dynamic settingAnimateSelection;

除了一大堆其他属性外,没有任何关系。 一切都适用于我的iMAC,但只要我将项目文件夹复制到MacBook上, 它将不再运行并显示所有那些语义错误告诉我它找不到它们。

我已经做了CLEAN并尝试从模拟器和手机中删除我的应用程序,但没有任何帮助。

有什么想法吗?谢谢你们!

2 个答案:

答案 0 :(得分:0)

解决方案:您的源树中可能有多个具有相同名称的文件实例。搜索那些并从Xcode项目中删除重复项(也可能是树)。

原因:重新生成NSManagedSubclass文件时存在一个陷阱......

新生成的文件(如setting.h和co。)可能(通常)不会与旧文件位于同一目录中。这些可以很容易地在嵌套目录中结束,或者已经被用户移动到不同的位置。

如果是这样,您的源树中有多个版本的源文件同名。

奇怪的是,用UI轻松打开的给定源文件不一定是编译器找到的源文件。

如何避免NSManagedSubclass陷阱

Xcode>编辑>创建NSManagedObject子类...>选择您要管理的实体的数据模型>导航到dest目录(您应该看到旧文件)> [创建]

您应该收到警告:以下文件已经存在并将被替换:...

附加说明

  1. 确保选择正确的目标>设备>操作系统。如果在打开新的Xcode时经常重置。
  2. +1表示存储库建议。你可以在本地使用git或svn。但是,它对手头的问题几乎没有影响。

答案 1 :(得分:0)

最佳解决方案是使用托管版本控制系统。然后做结帐,提交和合并。

默认情况下,新项目会获得项目本地的本地存储库。您的其他选项是停止使用本地存储库或保存快照,从管理器导出快照,然后将该快照共享到其他计算机。

到目前为止,托管存储库从长远来看是最不容易的。