Sorry for the late reply. I hope you've already found this out, but Swift sometimes has trouble inferring types when a function has many overloads and the compiler error it gives you isn't always obvious.
Try using an alternate or more explicit block syntax. I tend to either write:
query.observeEventType(.Value, withBlock: { (FDataSnapshot snapshot) -> Void in
//...
})
or
query.observeEventType(.Value, withBlock: { snapshot in
//...
})