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

Swift

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.87
Twizty
2 / 2 / 0
Регистрация: 15.06.2013
Сообщений: 49
#1

Потоки в Swift - Swift

23.10.2014, 10:33. Просмотров 1977. Ответов 2
Метки нет (Все метки)

В общем, решил поковырять свифт на выходных и выяснил, что не могу нормально создавать потоки. То есть создать-то я их могу, а вот полноценно ими пользоваться - нет. Я выяснил, что за потоки отвечает класс NSThread, потоки можно стартовать, но не выяснил, как заставить основной поток подождать выполнения запущенных в нем потоков. Вот пример кода, который я хочу заставить работать
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
class C1 : NSObject{
    func myFunc(){
        for i in 1...5 {
            sleep(1)
            println(i)
        }
    }
}
 
class C2 : NSObject{
    func myFunc(){
        for i in 1...5 {
            sleep(1)
            println(i)
        }
    }
}
 
 
var c1 = C1()
var c2 = C2()
let queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)
 
 
var t1 = NSThread(target: c1, selector: "myFunc", object: nil)
var t2 = NSThread(target: c2, selector: "myFunc", object: nil)
 
t1.start()
dispatch_async(queue) {
    println("HUI")
}
t2.start()
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.10.2014, 10:33     Потоки в Swift
Посмотрите здесь:

Input/output в swift - Swift
Начал изучать swift и столкнулся с проблемой ввода значений с клавиатуры. Много чего облазил, но решение нашёл пока только одно, описать...

Мутирование массива - Swift - Swift
Доброго времени суток! Столкнулся с проблемой, которую уже 3й день не могу решить: Я отправляю запрос на сервер, и получаю данные,...

Сильная связь Swift - Swift
Дорогие форумчане, объясните, пожалуйста, в чем разница между строчками "pers!.apartment = apart" и "pers?.apartment = apart". Единственное...

Swift Казалось бы просто - Swift
Пытаюсь в xcode сделать примитивную игру. Суть в том что бы на экране появлялась сначала 1 кнопка и давалось 2 секунды на нажатие, если...

События в Cocoa Swift - Swift
У меня нет совершенно никакого опыта в написании приложений под мак или айфон, но сейчас понадобилось написать приложение для Mac OS и я...

Дружит ли swift с геопозицией? - Swift
Здравствуйте, может кто-то знает, есть ли возможность взаимодействовать с определением геопозиции?

Swift is open source! - Swift
Всем привет! Примерно час назад Swift выпустили в открытое плавание! :yahoo: https://swift.org/ https://github.com/apple/ Что бы...

Восклицательный знак в Swift - Swift
Всем привет! Начал опыты со Swift, и тут же столкнулся с модификаторами ? и ! (назову их так) при декларации переменных. С...

SWIFT 3 и WebSocket в Xcode 8 - Swift
Здравствуйте. Собственно вопрос, есть ли возможность использовать WebSocket в Xcode8 (SWIFT 3). Нативных АПИ не нашел, попробовал...

Конвертер из swift в ObjC - Swift
Уважаемые коллеги Не может ли кто-то из вас подсказать, существует ли "в природе" опенсорсный конвертер исходного кода из swift в...

Как установить Swift? - Swift
Доброго времени суток Простите за дилетантский вопрос. Скажите можно ли программировать на Swift не используя OS Mac? Читал что сейчас...

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,276
23.10.2014, 22:40     Потоки в Swift #2
Ну вообще NSThread и GCD это немного разные вещи
используйте GCD или обертку NSOperationQueue либо используйте NSThread (что-то одно)
я советую GCD или его надстройку NSOperationQueue

вот неплохие туториалы
http://www.raywenderlich.com/4295/mu...nners-tutorial
http://idev.by/ios/21112/ (и там еще 3 части продолжения внизу)
Twizty
2 / 2 / 0
Регистрация: 15.06.2013
Сообщений: 49
24.10.2014, 15:23  [ТС]     Потоки в Swift #3
Vorona, то есть я не могу выполнять синхронные и асинхронные задачи в одном скрипте выполнять? Даже если я убираю асинхронную задачу, у меня потоки работать лучше не начинают.
Ответ Создать тему
Опции темы

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