gpt4 book ai didi

arrays - 如何在使用速记形式定义的数组中使用完全指定的类型?

转载 作者:行者123 更新时间:2023-11-28 12:24:42 24 4
gpt4 key购买 nike

根据 Swift 文档,定义数组的两种方法“在功能上是相同的”,但是当我尝试像这样定义数组时,Xcode 给我一个错误:

private var tweets = [[Twitter.Tweet]]()

错误是:

Cannot call value of non-function type '[Array<Tweet.Type>]'

Xcode 建议删除尾随的 () .但以下两项都工作正常:

private var tweets = [[Tweet]]()
private var tweets = [Array<Twitter.Tweet>]()

我需要将类型完全指定为来自 Twitter框架,因为我刚刚添加了 NSManagedObject 的子类称为 TweetCoreData一起工作在我的项目中。

Swift 文档说简写形式是首选,那么有没有办法将简写形式与完全指定的类型一起使用?

最佳答案

这是一个 known bug在 Swift 编译器中。在修复之前,您可以使用多种解决方法:

  1. 改用类型注解,使用空数组字面量:

    private var tweets: [[Twitter.Tweet]] = []
  2. 使用类型别名:

    private typealias TwitterTweet = Twitter.Tweet 
    private var tweets = [[TwitterTweet]]()
  3. 展开所有[T]语法糖,并使用 Array<T>相反

    private var tweets = Array<Array<Twitter.Tweet>>() 

关于arrays - 如何在使用速记形式定义的数组中使用完全指定的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43713752/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com