首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >返回数组的不透明类型

返回数组的不透明类型
EN

Stack Overflow用户
提问于 2020-02-01 05:12:19
回答 1查看 476关注 0票数 1

是否可以返回some [T]

代码语言:javascript
复制
protocol P {
    associatedtype X
    func method() -> [X]
}

class Imp: P {
    typealias X = Int

    func method() -> some [Int] {
        return [1]
    }
}

上面的代码产生错误“一个'opaque‘类型只能指定'Any','AnyObject',协议和/或基类”

编辑:

所以协议隐藏了底层的@NSMangedObject,只公开了需要的属性。如果A、B有Comparable功能就好了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-01 05:21:51

这是不可能的,但那是因为它没有任何意义。some T的意思是“符合T的特定的、具体的类型,在编译时由返回函数知道,但调用者不知道”。[Int]是调用者知道的类型。它没有任何“不透明”之处。这与以下内容相同:

代码语言:javascript
复制
func method() -> [Int] { ... }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60011284

复制
相关文章

相似问题

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