Форум программистов, компьютерный форум CyberForum.ru

Swift

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.58
Locatelli
0 / 0 / 0
Регистрация: 18.02.2015
Сообщений: 3
#1

Цикл for / массив в языке Swift - Swift

18.02.2015, 20:17. Просмотров 1665. Ответов 6
Метки нет (Все метки)

Я толко начала изучать Swift и при написания простого приложения "Генератор случайных чисел" столкнулась с такой проблемой: когда пользователь вводит количество необходимых чисел (например, 7) и диапазон (10-100), то в результате выводится не массив из 7-ми элементов, а только одно число. Может, я что-то упустила или не правильно делаю? (В консольном приложении на языке си такой способ работает)

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
    @IBOutlet weak var amount: UITextField! // TextField для ввода количества чисел
    @IBOutlet weak var rangeA: UITextField! // TextField для ввода первого числа диапазона
    @IBOutlet weak var rangeB: UITextField! // TextField для ввода второго числа диапазона
    @IBOutlet weak var result: UILabel! // Label в котором выводим результат
    
    @IBAction func gen(sender: UIButton) { // Кнопка "Сгенерировать"
        var a = (rangeA.text as NSString).integerValue // первое число диапазона
        var b = (rangeB.text as NSString).integerValue // второе число диапазон
        var cou = (amount.text as NSString).integerValue // количество чисел
        
        for var i = 0; i < cou; i++ { // Цикл
            var array = rand() % (b - a + 1) + a // рандом
            result.text = String(array) // вывод результата в Label
        }
    }
Привожу также скриншот приложения для наглядности:
Миниатюры
Цикл for / массив в языке Swift  
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2015, 20:17     Цикл for / массив в языке Swift
Посмотрите здесь:
Массив Swift Swift
Swift Swift, what that?
Swift Swift и бд
Кнопка в Swift Swift
Потоки в Swift Swift
Документация SWIFT Swift
Swift Swift и MySQL
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
korvin_
1711 / 1249 / 191
Регистрация: 28.04.2012
Сообщений: 4,522
18.02.2015, 22:08     Цикл for / массив в языке Swift #2
Цитата Сообщение от Locatelli Посмотреть сообщение
Может, я что-то упустила или не правильно делаю?
Да.

Цитата Сообщение от Locatelli Посмотреть сообщение
(В консольном приложении на языке си такой способ работает)
Нет.
Locatelli
0 / 0 / 0
Регистрация: 18.02.2015
Сообщений: 3
18.02.2015, 22:20  [ТС]     Цикл for / массив в языке Swift #3
Подскажите, что не так? Я по разному пыталась - через for - in, отдельно пустой массив создавала и даже функцию. Коды могу предоставить, если требуется.
clever_ui
1 / 1 / 1
Регистрация: 29.12.2013
Сообщений: 5
19.02.2015, 05:13     Цикл for / массив в языке Swift #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Locatelli Посмотреть сообщение
for var i = 0; i < cou; i++ { // Цикл
var array = rand() % (b - a + 1) + a // рандом
result.text = String(array) // вывод результата в Label
}
}
Количество чисел предполагает, перечисление их в строку через разделитель что ли?

Objective-C
1
2
3
4
5
6
7
8
var str = String()
 
for var i = 0; i < cou; i++ { // Цикл
var array = rand() % (b - a + 1) + a // рандом
str = String(array) + ", " + str
}
 
result.text = str
что-то типа этого)?
korvin_
1711 / 1249 / 191
Регистрация: 28.04.2012
Сообщений: 4,522
19.02.2015, 15:56     Цикл for / массив в языке Swift #5
Цитата Сообщение от Locatelli Посмотреть сообщение
Я по разному пыталась - через for - in, отдельно пустой массив создавала и даже функцию.
А не пробовола почитать какую-нибудь книжку по программированию?

Objective-C
1
2
3
4
5
6
7
var n = (amount.text as NSString).integerValue
var array = [Int](count: n, repeatedValue: 0)
 
for var i = 0; i < n; i++ {
    array[i] = rand()%(b-a+1) + a
}
result.text = ", ".join(array)
или

Objective-C
1
2
3
4
5
6
7
var n = (amount.text as NSString).integerValue
var array = [Int](count: n, repeatedValue: 0)
 
for (i, _) in enumerate(array) {
    array[i] = rand()%(b-a+1) + a
}
result.text = ", ".join(array)
Locatelli
0 / 0 / 0
Регистрация: 18.02.2015
Сообщений: 3
20.02.2015, 00:43  [ТС]     Цикл for / массив в языке Swift #6
Не обязательно через разделитель. Самое главное, что работает! Спасибо, я поняла ошибку
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2015, 14:00     Цикл for / массив в языке Swift
Еще ссылки по теме:
Swift Swift for Windows
Swift Swift is open source!
Swift JSON Parsing Swift
Дружит ли swift с геопозицией? Swift
Swift События в Cocoa Swift

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
p1usiq
0 / 0 / 0
Регистрация: 07.04.2015
Сообщений: 2
07.04.2015, 14:00     Цикл for / массив в языке Swift #7
Есть переведенная тема на русский по циклам For for-in http://iphonecoder.ru/flow-control/for-loops
Yandex
Объявления
07.04.2015, 14:00     Цикл for / массив в языке Swift
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru