Swift 3 NSCache 通用参数“KeyType”无法推断

2024-07-04

此代码适用于 Swift 2.x:

/// An internal in-memory cache
private var dataCache = NSCache.init()

In Swift 3它会导致编译错误:

Generic parameter 'KeyType' could not be inferred

为什么会这样,我应该如何重构它(迁移工具没有发现这个)?


  • 在第一个 Swift 3 beta 中NSCache已更改为Cache.
  • 在最新的测试版(目前为 5 个)中,它已恢复为NSCache.

Anyway NSCache现在是通用的。

public class NSCache<KeyType : AnyObject, ObjectType : AnyObject> : NSObject { ...

所以最通用的语法是

private var dataCache = NSCache<AnyObject, AnyObject>()

明确的init()不需要(即使在 Swift 2 中也不需要)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swift 3 NSCache 通用参数“KeyType”无法推断 的相关文章

随机推荐