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

Swift

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

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

18.02.2015, 20:17. Просмотров 1711. Ответов 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
        }
    }
Привожу также скриншот приложения для наглядности:
0
Миниатюры
Цикл for / массив в языке Swift  
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2015, 20:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Цикл for / массив в языке Swift (Swift):

Массив Swift - Swift
Есть кусок кода Swift в Xcode: var pageData = NSArray() override init() { super.init() // Create the...

Swift и бд - Swift
Для курсовой в универе хочу написать простое приложение, которое будет добавлять данные в бд и наоборот читать их. Но хотелось бы, чтобы бд...

Swift, what that? - Swift
Напишите мне, пожалуйста доступным языком, что такое свифт.

Swift и MySQL - Swift
Здравствуйте, пишу приложение для удаленной загрузки данных на веб-сервер. Возникла непонятная проблема. Данные приходят с сервера, но...

Кнопка в Swift - Swift
Друзья, как сделать круглую кнопку и как сделать так, чтобы при ее нажатии цвет этой кнопки рандомно менялся?

Потоки в Swift - Swift
В общем, решил поковырять свифт на выходных и выяснил, что не могу нормально создавать потоки. То есть создать-то я их могу, а вот...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
korvin_
1832 / 1301 / 202
Регистрация: 28.04.2012
Сообщений: 4,688
18.02.2015, 22:08 #2
Цитата Сообщение от Locatelli Посмотреть сообщение
Может, я что-то упустила или не правильно делаю?
Да.

Цитата Сообщение от Locatelli Посмотреть сообщение
(В консольном приложении на языке си такой способ работает)
Нет.
0
Locatelli
0 / 0 / 0
Регистрация: 18.02.2015
Сообщений: 3
18.02.2015, 22:20  [ТС] #3
Подскажите, что не так? Я по разному пыталась - через for - in, отдельно пустой массив создавала и даже функцию. Коды могу предоставить, если требуется.
0
clever_ui
1 / 1 / 1
Регистрация: 29.12.2013
Сообщений: 5
19.02.2015, 05:13 #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
что-то типа этого)?
1
korvin_
1832 / 1301 / 202
Регистрация: 28.04.2012
Сообщений: 4,688
19.02.2015, 15:56 #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)
1
Locatelli
0 / 0 / 0
Регистрация: 18.02.2015
Сообщений: 3
20.02.2015, 00:43  [ТС] #6
Не обязательно через разделитель. Самое главное, что работает! Спасибо, я поняла ошибку
0
p1usiq
0 / 0 / 0
Регистрация: 07.04.2015
Сообщений: 2
07.04.2015, 14:00 #7
Есть переведенная тема на русский по циклам For for-in http://iphonecoder.ru/flow-control/for-loops
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2015, 14:00
Привет! Вот еще темы с ответами:

VK SDK swift - Программирование iOS
Подскажите пожалуйста, как можно подключить VK SDK к проекту на swift. Легко ли это вообще сделать ? И если есть какие-то примеры работы на...

Документация SWIFT - Swift
Здравствуйте. Не могли бы вы в эту тему накидать документации, особенностей и полезной инфы про Swift. Стоит ли переходить на него из...

Swift for Windows - Swift
Здравствуйте, я хочу научиться SWIFT, есть ли SWIFT СТУДИЯ установить на Windows, подобное как Visual Studio для разработки C ++ или...

Swift JSON Parsing - Swift
Добрый день! Пытаюсь пропарсить JSON, который я получаю по URL запросу. Проблем не возникало пока JSON не имел многоуровневую...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.04.2015, 14:00
Ответ Создать тему
Опции темы

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