无法将表达式的类型“无效”转换为“字符串!”

类型

我试图迅速调用一个objective-c方法,并得到了这个奇怪的错误:

Cannot convert the expression's type 'Void' to type 'String!'

SWIFT代码:

XNGAPIClient.sharedClient().putUpdateGeoLocationForUserID("me",
        accuracy: 3000,
        latitude: location.coordinate.latitude as CGFloat,
        longitude: location.coordinate.longitude as CGFloat,
        ttl: 420, success: { (JSON: AnyObject!) in },
        failure: { (error: NSError!) in })

Objective-C方法:

- (void)putUpdateGeoLocationForUserID:(NSString*)userID
                             accuracy:(CGFloat)accuracy
                              latitude:(CGFloat)latitude
                             longitude:(CGFloat)longitude
                                   ttl:(NSUInteger)ttl
                               success:(void (^)(id JSON))success
                               failure:(void (^)(NSError *error))failure

如果我将所有内容都转换为建议的类型:

XNGAPIClient.sharedClient().putUpdateGeoLocationForUserID("me" as String,
        accuracy: 3000 as CGFloat,
        latitude: location.coordinate.latitude as CGFloat,
        longitude: location.coordinate.longitude as CGFloat,
        ttl: 420 as Int,
        success: { (JSON: AnyObject!) in },
        failure: { (error: NSError!) in })

我收到以下错误: Cannot convert the expression's type 'Void' to type 'StringLiteralConvertible'

马特·吉布森

您的问题是location.coordinate.latitudelocation.coordinate.longitude参数。例如,如果我将这些参数设置为Int,我可以重现您的问题。因此,请尝试:

XNGAPIClient.sharedClient().putUpdateGeoLocationForUserID("me" as String,
    accuracy: 3000 as CGFloat,
    latitude: CGFloat(location.coordinate.latitude),
    longitude: CGFloat(location.coordinate.longitude),
    ttl: 420 as Int,
    success: { (JSON: AnyObject!) in },
    failure: { (error: NSError!) in })

...也就是说,使用CGFloat构造函数,而不是as对这些参数进行向下转换(我猜想对于3000字面量来说,在幕后发生了一些聪明的事情,看起来它应该是一个Int,否则一个人可能也不起作用...)

对于非常无用的错误消息,我还会向Apple提出错误。我从错误的参数类型对Objective C的调用中看到了其中的一些。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Swift无法将表达式的类型“无效”转换为“字符串!”类型

来自分类Dev

Swift无法将表达式的类型“无效”转换为“字符串!”

来自分类Dev

Swift中的HomeKit完成块:无法将表达式的类型“无效”转换为类型“字符串!”

来自分类Dev

错误:无法将lambda表达式转换为“字符串”类型,因为它不是委托类型

来自分类Dev

无法将Lambda表达式转换为“字符串”类型,因为它不是委托类型MVC

来自分类Dev

无法将lambda表达式转换为“字符串”类型,因为它不是具有NotifyOfPropertyChange的委托类型

来自分类Dev

无法将Lambda表达式转换为“字符串”类型,因为它不是委托类型MVC

来自分类Dev

将NCalc表达式转换为字符串

来自分类Dev

将字符串转换为 SymPy 表达式?

来自分类Dev

实体框架 asp.net mvc5-无法将 lambda 表达式转换为类型“字符串”,因为它不是委托类型

来自分类Dev

将for循环转换为将concat字符串转换为lambda表达式

来自分类Dev

将RGB字符串转换为RGBa字符串的正则表达式

来自分类Dev

无法将表达式类型转换为返回类型

来自分类Dev

无法将表达式的类型“()”转换为类型“ UINavigationController?”

来自分类Dev

无法将表达式的类型'()'转换为'UINavigationController类型?

来自分类Dev

将正则表达式的空白字符从列表转换为字符串

来自分类Dev

Linq表达式转换为字符串

来自分类Dev

在java中将字符串转换为表达式

来自分类Dev

无法将Lambda表达式转换为'int'类型

来自分类Dev

如何将字符串转换为lambda表达式?

来自分类Dev

是否可以仅使用lambda表达式将字符串转换为int []?

来自分类Dev

将字符串/正则表达式转换为保存文件名的功能

来自分类Dev

如何将字符串转换为正则表达式

来自分类Dev

将正则表达式字符串从Java转换为Python

来自分类Dev

ADF表达式将数组转换为逗号分隔的字符串

来自分类Dev

使用.map将JSX字符串转换为JSX表达式(反应)

来自分类Dev

将查询参数字符串转换为正则表达式

来自分类Dev

如何将字符串转换为python(Generator表达式)中的嵌套字典?

来自分类Dev

将序列表达式转换为R绘图标签中的字符串

Related 相关文章

  1. 1

    Swift无法将表达式的类型“无效”转换为“字符串!”类型

  2. 2

    Swift无法将表达式的类型“无效”转换为“字符串!”

  3. 3

    Swift中的HomeKit完成块:无法将表达式的类型“无效”转换为类型“字符串!”

  4. 4

    错误:无法将lambda表达式转换为“字符串”类型,因为它不是委托类型

  5. 5

    无法将Lambda表达式转换为“字符串”类型,因为它不是委托类型MVC

  6. 6

    无法将lambda表达式转换为“字符串”类型,因为它不是具有NotifyOfPropertyChange的委托类型

  7. 7

    无法将Lambda表达式转换为“字符串”类型,因为它不是委托类型MVC

  8. 8

    将NCalc表达式转换为字符串

  9. 9

    将字符串转换为 SymPy 表达式?

  10. 10

    实体框架 asp.net mvc5-无法将 lambda 表达式转换为类型“字符串”,因为它不是委托类型

  11. 11

    将for循环转换为将concat字符串转换为lambda表达式

  12. 12

    将RGB字符串转换为RGBa字符串的正则表达式

  13. 13

    无法将表达式类型转换为返回类型

  14. 14

    无法将表达式的类型“()”转换为类型“ UINavigationController?”

  15. 15

    无法将表达式的类型'()'转换为'UINavigationController类型?

  16. 16

    将正则表达式的空白字符从列表转换为字符串

  17. 17

    Linq表达式转换为字符串

  18. 18

    在java中将字符串转换为表达式

  19. 19

    无法将Lambda表达式转换为'int'类型

  20. 20

    如何将字符串转换为lambda表达式?

  21. 21

    是否可以仅使用lambda表达式将字符串转换为int []?

  22. 22

    将字符串/正则表达式转换为保存文件名的功能

  23. 23

    如何将字符串转换为正则表达式

  24. 24

    将正则表达式字符串从Java转换为Python

  25. 25

    ADF表达式将数组转换为逗号分隔的字符串

  26. 26

    使用.map将JSX字符串转换为JSX表达式(反应)

  27. 27

    将查询参数字符串转换为正则表达式

  28. 28

    如何将字符串转换为python(Generator表达式)中的嵌套字典?

  29. 29

    将序列表达式转换为R绘图标签中的字符串

热门标签

归档