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

Swift

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

Потоки в Swift - Swift

23.10.2014, 10:33. Просмотров 1941. Ответов 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
Посмотрите здесь:

Документация SWIFT Swift
Массив Swift Swift
Swift Input/output в swift
Дружит ли swift с геопозицией? Swift
Swift Swift, what that?
Конвертер из swift в ObjC Swift
Swift Swift is open source!
Swift Казалось бы просто Swift
Swift Swift for Windows
Swift Swift и бд
Swift Swift и MySQL
Кнопка в Swift Swift

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vorona
Peace 2 all shining faces
666 / 528 / 45
Регистрация: 05.03.2010
Сообщений: 1,271
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, то есть я не могу выполнять синхронные и асинхронные задачи в одном скрипте выполнять? Даже если я убираю асинхронную задачу, у меня потоки работать лучше не начинают.
Yandex
Объявления
24.10.2014, 15:23     Потоки в Swift
Ответ Создать тему
Опции темы

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