Ios Swift应用程序-从AnyObject到NSArray的转换似乎失败了

Ios Swift应用程序-从AnyObject到NSArray的转换似乎失败了,ios,xcode,swift,Ios,Xcode,Swift,我在苹果IOS开发者论坛上发布了这个问题,但明显缺乏回应。我希望StackOverflow巫师能帮上忙 我正在使用Swift开发iOS 8应用程序。在Xcode beta 5中,下面的代码正常工作,但在beta 6和beta 7中给了我一个链接器错误: var sqlStr = "SELECT count(*) as count FROM nouns WHERE bucket = ?;" var rs = db.executeQuery(sqlStr, withArgumentsInArray:

我在苹果IOS开发者论坛上发布了这个问题,但明显缺乏回应。我希望StackOverflow巫师能帮上忙

我正在使用Swift开发iOS 8应用程序。在Xcode beta 5中,下面的代码正常工作,但在beta 6和beta 7中给了我一个链接器错误:

var sqlStr = "SELECT count(*) as count FROM nouns WHERE bucket = ?;"
var rs = db.executeQuery(sqlStr, withArgumentsInArray: [0] as NSArray)
链接器错误为:

Undefined symbols for architecture x86_64:
  __TFSs26_forceBridgeFromObjectiveCU__FTPSs9AnyObject_MQ__Q_", referenced from:
  __TFC8les_Mots13WordGenerator9getBucketfS0_FT_Si in WordGenerator.o
(getBucket是UIViewController WordGenerator中的一个方法。如果我将该方法减少到这两行,则会得到相同的错误,如果我将这两行注释掉,错误就会消失,因此我知道问题就在这里。)

db.executeQuery()是具有以下签名的FMDB方法:

 - (BOOL)executeUpdate:(NSString*)sql withArgumentsInArray:(NSArray *)arguments;
如果我将代码更改为此,它将在所有Beta中工作:

var sqlStr = "SELECT count(*) as count FROM nouns WHERE bucket = '\(whereClause)';"
var rs = db.executeQuery(sqlStr, withArgumentsInArray: nil)
从链接器错误以及我调试该错误的尝试和努力来看,[0]类型为AnyObjectNSArray的强制转换(这是必需的)似乎失败了。我正在使用这个例子,但我在应用程序的其他领域也看到了类似的问题,所有这些领域都必须将任何对象转换为NSArrayNSDictionary

上面的原始代码在Xcode beta 5中工作得很好,但在后续的beta中则不行。很明显,我对AnyObject to NSArray cast的某些内容不太了解,但如果我知道是什么,我会感到很遗憾,而且betas 5和6似乎强制执行了一些以前没有强制执行的内容。我尝试了我能想到的每一种明确的演员阵容,但都没有成功


任何帮助都将不胜感激。

我更改了构建位置,代码现在可以编译、链接和运行。以前,构建位置是自定义的/相对于工作区的;我把它改成了独一无二的


我不知道这会改变什么,因为我已经删除了派生数据并多次清理了构建文件夹。但是……它奏效了,所以如果有人遇到同样的问题,请尝试一下。

我遇到了同样的问题,并尝试了beta 6的所有建议解决方案:但都没有用。希望有人能在这个问题上发表一些见解!您可能需要提供更多的上下文来获得此问题的帮助。我试图用一个简单的测试类来复制这个问题,这个测试类有一个带有该签名的方法,并且它使用Xcode 6 beta 7编译时没有任何困难。我删除了派生数据,清理了构建和中间文件夹的次数超过了我的计数,但没有成功。我不知道我能提供什么额外的上下文。我还用上述语句编写了一个测试类,它会导致相同的链接器错误。我很感激你的回答——它告诉我有人在让它工作!有趣。我想这和二进制文件有关。在执行干净构建时,您是否尝试过按住option键?快捷方式是option-shift-command-k,如果按住选项键,菜单项是Product->Clean Build Folder…我从来无法通过该菜单执行此操作-Clean Build Folder菜单项总是灰显。我手动删除了我能找到的所有内容,但可能遗漏了什么。无论如何,谢谢你的关心和帮助。