If нужно использовать там где он реально нужен, в нормальной конторе, за несколько вложенных if в функции бьют ногами :)
Это в 3 строки делается
let str = "казак"
let reversrdStr = String(str.reversed())
print((str == reversrdStr) ? "палидром" : "не палидром")
Или нужно извращаться для обучения, разбивая на символы? :)
Дополнил, тогда так.
let str = "казак"
let charsters = Array(str)
let maxIndex = charsters.count - 1
var newStr = ""
for i in 0...maxIndex{
newStr = newStr + String(charsters[maxIndex-i])
}
print((str == newStr) ? "палидром" : "не палидром")
Можно сравнивать посимвольно, не составляя новое слово.
Используя второй пример, легко понять как это сделать самому.