2014-10-20 100 views
0

我下载了李斯特“生产力应用程序”(1.4版,二零一四年十月十六日)样本项目从苹果打造的错误:李斯特样本项目 - 与斯威夫特版本

https://developer.apple.com/library/ios/samplecode/Lister/Introduction/Intro.html#//apple_ref/doc/uid/TP40014701

我的Xcode 6.0。 1在OS X 10.10(优胜美地)上运行。 Objective-C版本运行良好。雨燕的版本在构建失败,四个错误:

  1. /Users/ben/Downloads/ListerAProductivityAppObj-CandSwift/Swift/ListerKit/ListDocument.swift:61:114:“List.Color”没有一个构件命名为 'rawValue'

  2. /Users/ben/Downloads/ListerAProductivityAppObj-CandSwift/Swift/ListerKit/ListUtilities.swift:103:31:在条件结合结合值必须是可选类型的

  3. /Users/ben/Downloads/ListerAProductivityAppObj-CandSwift/Swift/Common/List.swift:126:22:'List.Color'无法构造,因为它没有可访问的初始化

  4. /Users/ben/Downloads/ListerAProductivityAppObj-CandSwift/Swift/Common/List.swift:131:30: 'List.Color' 没有一个名为 'rawValue'

成员

我不知道为什么示例项目不能直接编译出来?该设置是根据README.md

+1

项目已更新为Xcode ** 6.1 **,如修订历史记录中所列。枚举和原始值之间的转换方法在Xcode 6.0和Xcode 6.1之间改变,比较http://stackoverflow.com/questions/26444107/enums-rawvalue-property-not-recognized/26444348#26444348。 – 2014-10-20 07:36:27

+0

@MartinR那个关于修改历史的点非常重要,谢谢。 :) – bjfletcher 2014-10-20 08:43:54

+0

我一直在研究这个项目很安静,我必须承认我仍然在为之奋斗 - 我个人认为这有点混乱。在视图控制器中观看代码,在应用程序委托中存储UI代码,在特定于平台的文件夹中共享库代码,这是一个地雷场,需要永远解开。 – Chris 2015-11-04 09:33:16

回答

1

该项目被列为需要Xcode 6.1或更高版本。有些事情已经发生了变化,其中之一是来自枚举的原始值是通过rawValue属性获得的,而在6.0.x中是通过toRaw()方法获得的。

其他错误很可能是由类似的更改造成的。

所以我建议你下载最新的6.1 GM版本,它仍然在appstore中不可用(虽然它被列为“很快可用”),所以你必须从iOS/MacOS开发人员中心手动下载

+0

安东尼奥,非常感谢。 :) – bjfletcher 2014-10-20 08:44:29