2014-06-24 3 views
0

Я использовал arc4random_uniform(), чтобы получить случайные значения из заданных String или Int. Теперь я хочу присоединиться к этим значениям.конкатенация NSString и Int в Apple Swift

var randomNumber = arc4random_uniform(9999) + 1000 // returns random number between 1000 and 9999 e.g. - 7501 
let alphabet_array = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"] 
let randomIndex = Int(arc4random_uniform(UInt32(alphabet_array.count))) 
let random_alphabet = alphabet_array[randomIndex] // returns random alphabet e.g. - E 

То, что я хочу, чтобы отобразить 7501 и Е вместе, как 7501E

var str="\(randomNumber)\(random_alphabet)" // error 

Я получаю ниже ошибки:

Command /Applications/Xcode6-Beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift failed with exit code 254 

Пожалуйста, помогите, как я могу показать это вместе.

+0

Он отлично работает для меня. Попробуйте перезапустить Xcode и повторите попытку. – Greg

+0

Вы на самом деле собираетесь получить числа от 1000 до 10999, что путь ... –

+0

Предполагая, что ваш код дословно, то не хватает «=» на второй линии «пусть alphabet_array [„A“» иначе он работает как @Nate Cook говорит – Grimxn

ответ

0

Он отлично работает с правой пунктуации:

var randomNumber = arc4random_uniform(999) + 1000 
// returns random number between 1000 and 9999 e.g. - 7501 NOTE 999 not 9999 

let alphabet_array = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"] 
// Note missing "=" in OP 

let randomIndex = Int(arc4random_uniform(UInt32(alphabet_array.count))) 

let random_alphabet = alphabet_array[randomIndex] // returns random alphabet e.g. - E 

var str = "\(randomNumber)\(random_alphabet)" // e.g. 1197A 
0

Вместо того, чтобы использовать интерполяцию строки, вы можете также преобразовать случайное число в строку и просто добавить их вместе:

let str = randomNumber.description + random_alphabet 
Смежные вопросы