2016-06-12 12 views
1

У меня есть тип записи - "DiningTypes". «У DiningTypes есть только один тип поля, который является строкой. У меня есть 5 записей ... и для загрузки таблицы требуется 3-4 секунды. Как это так медленно? Нужно ли начинать процесс выборки в предыдущий контроллер, чтобы ускорить время отклика пользовательского интерфейса?CloudKit - выборка 5 записей с одним типом поля ... занимает 3-4 секунды. почему это так медленно?

import UIKit 
import CloudKit 

class table1: UITableViewController { 

var categories: Array<CKRecord> = [] 
var fetchedcategories: Array<CKRecord> = [] 

override func viewDidLoad() { 
    super.viewDidLoad() 
    func fetchdiningtypes() 

    { 
     let container = CKContainer.defaultContainer() 
     let publicDatabase = container.publicCloudDatabase 
     let predicate = NSPredicate(value: true) 

     let query = CKQuery(recordType: "DiningTypes", predicate: predicate) 


     publicDatabase.performQuery(query, inZoneWithID: nil) { (results, error) -> Void in 
      if (error != nil) 
      { 
       print("Error" + (error?.localizedDescription)!) 
      } 
      else 
      { 
       for result in results! 
       { 
        self.categories.append(result) 
       } 

           } 
     } 

    } 
    fetchdiningtypes() 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    // #warning Incomplete implementation, return the number of rows 
    return categories.count 
} 
    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCellWithIdentifier("dining")  as! table1cell 
    let restaurant: CKRecord = categories[indexPath.row] 
    cell.Name.text = restaurant.valueForKey("Name") as? String 

    return cell 
} 
} 
+0

I'v часто ч что разработка комментариев намного медленнее, чем производство, если вы сделали ваш код максимально эффективным, чем больше, чем вы не можете сделать. – user3069232

+0

Вы видели это в любом онлайн-издании? Это звучит многообещающе. –

ответ

1

качеством обслуживания по умолчанию для операций CloudKit является NSQualityOfServiceUtility. Если ваше приложение не на переднем плане, когда выполняется запрос, вы можете видеть операции займут больше времени, чем обычно, для запуска .

Попробуйте использовать CKQueryOperation и установив его qualityOfService в NSOperationQualityOfServiceUserInitiated.

+0

Приносим извинения за ответ, полученный от вас, узнаете ли вы о каких-либо учебных пособиях по качеству обслуживания NSO? –

 Смежные вопросы

  • Нет связанных вопросов^_^