2014-11-09 1 views
-1

Моим приложение разваливается на этом методе:App сбои Swift Xcode 6.1 с некоторым Method

func loadData() { 
    timelineData.removeAllObjects() 

    var findTimelineData:PFQuery = PFQuery(className:"AllTweets") 
    findTimelineData.findObjectsInBackgroundWithBlock { 
     (objects:[AnyObject]!, error:NSError!)-> Void in 
     if (error == nil) { 
      for object:AnyObject in objects { 
       self.timelineData.addObject(object as PFObject) 
      } 

      let array:NSArray = self.timelineData.reverseObjectEnumerator().allObjects 
      self.timelineData = array as NSMutableArray 
      self.tableView.reloadData() 
     } 
    } 
} 

ошибка, что он бросает это: ECX_BREAKPOINT (код = EXC_I386_BPT, субкодовый = 0x0)

Я вызывая этот метод в моем методе viewDidAppear.

Есть ли у кого-нибудь идеи, почему это происходит?

+0

Поместите точку останова в начале функции и выполните код, чтобы найти точную линию аварии. – zisoft

+0

@zisoft Я просто сделал это, и это показывает, что это линия аварии: self.timelineData = массив как NSMutableArray У вас есть идеи? – user3679109

+0

Ваш код странный. Вы создаете 'let array: NSArray' и передаете его в' NSMutableArray' в следующей строке. – zisoft

ответ

0

Объект reverseObjectEnumerator(). AllObjects вернет NSArray, независимо от того, тип исходного массива Mutable или нет. (https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSEnumerator_Class/index.html#//apple_ref/occ/instp/NSEnumerator/allObjects)

В стриже, если вам нужен изменяемый массив, а затем использовать

var mutableArray = array.reverseObjectEnumerator().allObjects 

вар для изменчивых и пусть наоборот.