Swift return type clarification

后端 未结 4 1844
既然无缘
既然无缘 2021-01-29 13:05

I see a Swift function written as follows:

func calculation(imageRef: CGImage) -> (red: [UInt], green: [UInt], blue: [UInt]) {

 ...
 ...
}

相关标签:
4条回答
  • 2021-01-29 13:29
    func calculation(imageRef: CGImage) -> (red: [UInt], green: [UInt], blue: [UInt]) {
    
     ...
     ...
    }
    

    The above method returns tuple (A group of different values that you can use in Swift).

    You can also return tuple without named parameters:

    func calculation(imageRef: CGImage) -> ([UInt], [UInt],[UInt]) {
    
     ...
     ...
    }
    

    You can access the return values like this (For un-named tuple parameters):

    let returnedTuple = calculation(imagRef)
    print(returnedTuple.0) //Red
    print(returnedTuple.1) //Green
    print(returnedTuple.2) //Blue
    

    or (For named tuple parameters):

    let returnedTuple = calculation(imagRef)
    print(returnedTuple.red) //Red
    print(returnedTuple.green) //Green
    print(returnedTuple.blue) //Blue
    

    There is no equivalence of tuple in Objective-C.

    0 讨论(0)
  • 2021-01-29 13:35

    This called Tuple learn here

    it allows to group multiple values under single variable.

    Objective c don't support tuple . in objc you have to use dictionary and you have to use key red , green and 'blue with array as value

    0 讨论(0)
  • 2021-01-29 13:39

    It's a tuple that this function is returning.

    A tuple can hold various types in one object, but unlike an array, you cannot append or remove objects to/from it.

    From Apple Developer Swift Guides:

    Tuples group multiple values into a single compound value. The values within a tuple can be of any type and don’t have to be of the same type as each other.

    Tuples don't exist in Objective-C. You can find more information about that here.

    0 讨论(0)
  • 2021-01-29 13:42

    This method return a tuple

    func calculation(imageRef: CGImage) -> (red: [UInt], green: [UInt], blue: [UInt]) {
    
    
        return ([],[],[])
    }
    
    0 讨论(0)
提交回复
热议问题