在 Xcode Beta 6 之后使用 NSPredicate 快速崩溃
Posted
技术标签:
【中文标题】在 Xcode Beta 6 之后使用 NSPredicate 快速崩溃【英文标题】:Crash using NSPredicate in swift after Xcode Beta 6 【发布时间】:2014-10-20 03:16:31 【问题描述】:我的代码在 Xcode beta 5 中运行良好,但在下载 beta 6 后,它崩溃了。
这是我的代码:
extension String
/**
* http://***.com/questions/3139619/check-that-an-email-address-is-valid-on-ios
*/
func isValidEmail() -> Bool
let emailRegex = ".+@([A-Za-z0-9-]+\\.)+[A-Za-z]2[A-Za-z]*";
let emailTest = NSPredicate(format: "SELF MATCHES %@",emailRegex);
return emailTest.evaluateWithObject(self);
执行时,在 NSPredicate 行崩溃:
let emailTest = NSPredicate(format: "SELF MATCHES %@",emailRegex);
有人知道这个问题吗?
【问题讨论】:
您的代码对我来说似乎没有问题。你用哪个输入字符串测试它? 【参考方案1】:尝试删除派生数据然后重建,这个方法解决了我的问题!
~/Library/Developer/Xcode/DerivedData/
【讨论】:
是的,试试看,不会有坏处的,我保证 很高兴它起作用了。我认为,自从它的新版本 beta 版本以来,很多东西都发生了变化,并且与 beta 5 不同,如果想知道 beta6 中的新内容,请阅读 beta6 版本,而不是来自开发者网站。 派生数据包含已编译(和预编译)文件。显然,beta 5 和 beta 6 之间存在一些兼容性问题。这可以解决很多症状。以上是关于在 Xcode Beta 6 之后使用 NSPredicate 快速崩溃的主要内容,如果未能解决你的问题,请参考以下文章
安装 XCode 6 beta 4 后无法运行旧的 swift 项目
使用 Xcode6-Beta 运行 Xcode 5.1.1 项目
在 Xcode 6 beta 中使用 Images.xcassets