Ios Swift不能调用';someFunction';具有类型为';(某些类型,块($T9)——>;
我正在从事一个使用Swift和Firebase API的iOS项目。Ios Swift不能调用';someFunction';具有类型为';(某些类型,块($T9)——>;,ios,swift,block,firebase,Ios,Swift,Block,Firebase,我正在从事一个使用Swift和Firebase API的iOS项目。 不知怎的,我在这个查询中遇到了以下错误: ref.queryOrderedByKey().queryLimitedToFirst(limit as UInt) .observeSingleEventOfType(FEventType.Value, withBlock: { snapshot in var n = News( snapshot.key,
不知怎的,我在这个查询中遇到了以下错误:
ref.queryOrderedByKey().queryLimitedToFirst(limit as UInt)
.observeSingleEventOfType(FEventType.Value, withBlock: {
snapshot in
var n = News(
snapshot.key,
snapshot.value["value1"] as? String,
snapshot.value["value2"] as? String,
snapshot.value["value3"] as? Int)
result!.append(n)
})
错误:
无法使用类型为“(FEventType,withBlock:($T9)->($T9)->§T8)->”($T9)->($T9)->§T8)->”)的参数列表调用“observeSingleEventOfType”
我很确定这是因为编译器没有正确识别块或快照的类型,但我不知道如何结合块来解决这个问题
更新:被调用函数的Objective-C头如下所示:
- (void)observeSingleEventOfType:(FEventType)eventType with block:(void(^)(FDataSnapshot*snapshot))block
我不熟悉Firebase API,但您可以(也可能应该)在块中定义快照类型,如下所示:
withBlock: {
(snapshot: SnapshotType) in
yourCode()
}
如果块返回一个值,则需要将其修改为:
withBlock: {
(snapshot: SnapshotType) -> ReturnType in
我不熟悉Firebase API,但您可以(也可能应该)在块中定义快照类型,如下所示:
withBlock: {
(snapshot: SnapshotType) in
yourCode()
}
如果块返回一个值,则需要将其修改为:
withBlock: {
(snapshot: SnapshotType) -> ReturnType in
我不熟悉Firebase API,但您可以(也可能应该)在块中定义快照类型,如下所示:
withBlock: {
(snapshot: SnapshotType) in
yourCode()
}
如果块返回一个值,则需要将其修改为:
withBlock: {
(snapshot: SnapshotType) -> ReturnType in
我不熟悉Firebase API,但您可以(也可能应该)在块中定义快照类型,如下所示:
withBlock: {
(snapshot: SnapshotType) in
yourCode()
}
如果块返回一个值,则需要将其修改为:
withBlock: {
(snapshot: SnapshotType) -> ReturnType in
尝试用UInt(limit)
代替limit作为UInt
我不确定您的情况下limit
是什么类型,但当limit
是一个Int
时,我能够得到一个类似的错误。进行替换为我解决了这个问题。尝试UInt(limit)
代替limit as UInt
我不确定您的情况下limit
是什么类型,但当limit
是一个Int
时,我能够得到一个类似的错误。进行替换为我解决了这个问题。尝试UInt(limit)
代替limit as UInt
我不确定您的情况下limit
是什么类型,但当limit
是一个Int
时,我能够得到一个类似的错误。进行替换为我解决了这个问题。尝试UInt(limit)
代替limit as UInt
我不确定您的情况下是什么类型的
limit
,但当limit
是Int
时,我能够得到一个类似的错误。进行替换为我解决了这个问题。我尝试过,但它只是将错误更改为“无法调用…witBlock:(FDataSnapshot)->(FDataSnapshot)->$T8)'另外,我将方法主体添加到原始帖子中。我尝试了,但它只是将错误更改为'cannotinvoke…witBlock:(FDataSnapshot)->(FDataSnapshot)->$T8''另外,我将方法主体添加到原始帖子中。我尝试了,但它只是将错误更改为'cannotinvoke…witBlock:(FDataSnapshot)->(FDataSnapshot)->(FDataSnapshot)->$T8)“另外,我在原始帖子中添加了方法主体。我尝试了,但它只是将错误更改为“无法调用…”。。。witBlock:(FDataSnapshot)->(FDataSnapshot)->$T8)“另外,我将方法体添加到原始帖子中。