首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扩展NSCoding以符合URL

扩展NSCoding以符合URL
EN

Stack Overflow用户
提问于 2017-06-15 20:54:49
回答 1查看 400关注 0票数 0

我是swift的新手,我想扩展NSCoding以符合URL类型。我需要定义一个输入和输出类型,并且总是得到错误Type 'URL' does not conform to protocol 'NSCoding'

代码语言:javascript
复制
//what it looks like before entering types
DiskCacheLevel<<#K: StringConvertible#>, NSCoding>()

//what I want it to look like (<InputType, OutputType>)
DiskCacheLevel<URL, URL>() //here the error occurs

我该如何扩展它以符合URL类型呢?

EN

回答 1

Stack Overflow用户

发布于 2017-06-15 21:01:55

您有两个问题:

  • 您不能“扩展NSCoding以符合URL类型”,因为您不能扩展协议以符合任何内容,而URL不是可以符合的协议。假设您的意思是要扩展URL以符合NSCoding.
  • You无法扩展URL以符合NSCoding,因为只有类才能符合NSCoding,但URL是一个结构。

你能做的就是用NSURL代替URLNSURL是一个类,您可以在NSURLURL之间自由转换。由于NSURL已经符合NSCoding,因此您不必为此编写扩展。

代码语言:javascript
复制
let cache = DiskCacheLevel<URL, NSURL>()

let key = URL(...)
let value = URL(...)
cache[key] = value as NSURL
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44568091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档