Опишите что такое NSOperationQueue. Где и как это используется?
 
Уважаемые учащиеся ниже Вы сможете увидеть ответ, перед тем, как ответить, пожалуйста, постарайтесь написать для себя ответ на черновике, и только потом сравните наш ответ с Вашим: 
 
 
 
 
 
Верно ли наше решение?
Ответ:
Класс NSOperationQueue регулирует порядок выполнения множества операций, которые, представлены объектами класса NSOpertion. Свойственно использовать очереди операций (operation queue) для исполнения каких-либо асинхронных операций в другом (не главном) потоке (background thread).
Другими словами, используя NSOperationQueue мы получаем возможность выполнять ту или иную задачу в новом потоке, т.е. запускать ее в фоне. 
Пример использования:
def thread1 
  10.times { |i| NSLog("\t Thread1: #{i}") } 
end 
 
def thread2 
  20.times { |i| NSLog("\t\t  Thread2: #{i}") } 
end 
 
def thread3 
  30.times { |i| NSLog("\t\t\t   Thread3: #{i}") } 
end 
 
def viewDidLoad 
  queue = NSOperationQueue.new 
  queue.maxConcurrentOperationCount = 3  
  queue.name = "threads operation" 
 
  operation1 = NSInvocationOperation.alloc.initWithTarget(self, selector: :thread1, object:nil) 
  operation2 = NSInvocationOperation.alloc.initWithTarget(self, selector: :thread2, object:nil) 
  operation3 = NSInvocationOperation.alloc.initWithTarget(self, selector: :thread3, object:nil) 
 
  queue.addOperation(operation1) 
  queue.addOperation(operation2) 
  queue.addOperation(operation3) 
 
end 
 
viewDidLoad 
 
sleep 10.0 
   
                                                                       Опишите что такое NSOperationQueue. Где и как это используется?
 
Уважаемые учащиеся ниже Вы сможете увидеть ответ, перед тем, как ответить, пожалуйста, постарайтесь написать для себя ответ на черновике, и только потом сравните наш ответ с Вашим: 
 
 
 
 
 
Верно ли наше решение?
Ответ:
Класс NSOperationQueue регулирует порядок выполнения множества операций, которые, представлены объектами класса NSOpertion. Свойственно использовать очереди операций (operation queue) для исполнения каких-либо асинхронных операций в другом (не главном) потоке (background thread).
Другими словами, используя NSOperationQueue мы получаем возможность выполнять ту или иную задачу в новом потоке, т.е. запускать ее в фоне. 
Пример использования:
def thread1 
  10.times { |i| NSLog("\t Thread1: #{i}") } 
end 
 
def thread2 
  20.times { |i| NSLog("\t\t  Thread2: #{i}") } 
end 
 
def thread3 
  30.times { |i| NSLog("\t\t\t   Thread3: #{i}") } 
end 
 
def viewDidLoad 
  queue = NSOperationQueue.new 
  queue.maxConcurrentOperationCount = 3  
  queue.name = "threads operation" 
 
  operation1 = NSInvocationOperation.alloc.initWithTarget(self, selector: :thread1, object:nil) 
  operation2 = NSInvocationOperation.alloc.initWithTarget(self, selector: :thread2, object:nil) 
  operation3 = NSInvocationOperation.alloc.initWithTarget(self, selector: :thread3, object:nil) 
 
  queue.addOperation(operation1) 
  queue.addOperation(operation2) 
  queue.addOperation(operation3) 
 
end 
 
viewDidLoad 
 
sleep 10.0