如何返回可选元组

时间:2016-03-02 22:30:27

标签: swift tuples

我有函数在string1和string2中为子字符串找到两个范围,并返回元组

(Range<String.Index>!, Range<String.Index>!)  

我需要元组以后将它们存储在数组中。没有找到范围时会出现问题。如何处理这个,应该返回什么函数 - 使用nil(nil,nil)清空元组或元组?

2 个答案:

答案 0 :(得分:3)

您应该返回选项而不是强制解包元组中的每个Range对象:

(Range<String.Index>?, Range<String.Index>?)

答案 1 :(得分:2)

最好让元组本身成为可选项,而不是在函数失败时返回一个充满nil的元组:

func myFunction() -> (value1: Type, value2: Type)?
{
   if (it_hasnt_worked) {
      return nil
   }
}

注意问号出现在函数声明中的元组之后。