The method components(separatedBy:) returns a string array [String].
You function's return type is String and not [String]
So there are 2 ways to resolve the issue depending on your requirement.
1. Use [String] as return type of function, i.e.
func shortNameFromName (_ fullName: String) -> [String]
{
var lowerCasedName = fullName.lowercased()
var shortName = lowerCasedName.components(separatedBy: " ")
return shortName
}
2. Return a particular value from shortName array, i.e.
func shortNameFromName (_ fullName: String) -> String
{
var lowerCasedName = fullName.lowercased()
var shortName = lowerCasedName.components(separatedBy: " ")
return shortName.first! //Make sure shortName is not empty before force unwrapping it
}