0

如果满足某些条件,我有一个返回字符串数组的函数。但我想在我的函数中有提前返回功能。像这样的东西:

func fetchPerson() -> [String] {
    guard let appDelegate = UIApplication.shared.delegate as? AppDelegate else {
        return nil
    }
    .......
    .......
}

但我面临以下问题:

Nil 与返回类型“[String]”不兼容

我试着只写return声明。但它也失败了。该怎么办?

编辑:1

如果我只想从此函数返回而没有任何价值怎么办。回到调用这个函数的那一行。就像是:

func fetchPerson() -> [String] {
    guard let appDelegate = UIApplication.shared.delegate as? AppDelegate else {
        return //return to the line where function call was made
    }
    .......
    .......
}
4

1 回答 1

1

您可以通过两种方式解决此错误。

  • 将返回类型更改为[String]?from[String]意味着使返回类型可选。

    func fetchPerson() -> [String]? {
        guard let appDelegate = UIApplication.shared.delegate as? AppDelegate else {
            return nil
        }
        .......
        .......
    }
    
  • 将 return 语句更改为return []fromreturn nil意味着返回空数组。

    func fetchPerson() -> [String] {
        guard let appDelegate = UIApplication.shared.delegate as? AppDelegate else {
            return []
        }
        .......
        .......
    }
    
于 2017-03-10T05:07:16.277 回答