【问题标题】:Could not cast value of type 'Swift._SwiftDeferredNSDictionary<Swift.String, Swift.Double>' (0x11b1b84f8) to 'NSMutableDictionary'无法将“Swift._SwiftDeferredNSDictionary<Swift.String, Swift.Double>”(0x11b1b84f8)类型的值转换为“NSMutableDictionary”
【发布时间】:2018-06-27 21:34:34
【问题描述】:

我正在调用一个用 Objective C 编写的方法,

-(void)fetchWithDetails:(NSMutableDictionary*)details
                  success:(void (^)(id response))success
                  failure:(void (^)(NSError *error,NSString *userMessage))failure;

在 Swift 中,我将目标 C 方法称为:

ULWebServiceStoreUtility.fetch(withDetails: parameters as! NSMutableDictionary , success: { (response) in ....}, failure: { error, userMessage in ...})

但我遇到崩溃错误:无法将类型“Swift._SwiftDeferredNSDictionary”(0x11b1b84f8)的值转换为“NSMutableDictionary”

那么有人可以指导我如何在 Swift 中传递 NSMutableDictionary 吗?

【问题讨论】:

    标签: objective-c swift crash type-conversion


    【解决方案1】:

    NSDictionary 不能直接转换为 NSMutableDictionary。类型不同。

    你可能需要这样的东西:

    fetch(withDetails: NSMutableDictionary(dictionary: parameters), ...)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-19
      • 2018-01-03
      • 2017-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多