追加到swift中不同类的数组

时间:2015-11-28 09:05:34

标签: swift append viewcontroller controllers

我试图追加到我的数组

var feedArray: [AnyObject] = []

来自另一个班级。 我有2个班级:

class FeedViewController: UIViewController, UICollectionViewDataSource,
     UICollectionViewDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate {

      var feedArray: [AnyObject] = []

class AddEditViewController: UIViewController, NSFetchedResultsControllerDelegate,
      UIImagePickerControllerDelegate, UINavigationControllerDelegate {

我想在我的“AddEditViewController”中追加数组“feedArray”。 但我不能。 我试过了:

FeedViewController().feedArray.append("TheObjectImTryingToAdd")

我甚至试图把

print(FeedViewController().feedArray.count)

但结果始终为0,即使数组有3个对象。

我做错了什么?如果你想查看详细的代码,这是我之前的问题:why won't my main viewcontroller update when i segue back?

1 个答案:

答案 0 :(得分:2)

所以,在玩了一会儿并尝试学习之后,我找到了解决方案

首先,将数组添加到类之外,使其为全局数,而不是:

for i in range(1, 3):
    if table[i][0] == int(code[(0+n):(2+n)]):
        x = i

更改它,以便:

import UIKit
import CoreData
import MobileCoreServices

class FeedViewController: UIViewController, UICollectionViewDataSource,
UICollectionViewDelegate, UIImagePickerControllerDelegate,
UINavigationControllerDelegate {

   @IBOutlet weak var collectionView: UICollectionView!
   var feedArray: [AnyObject] = []

而不是使用

import UIKit
import CoreData
import MobileCoreServices

 var feedArray: [AnyObject] = []

class FeedViewController: UIViewController, UICollectionViewDataSource,
UICollectionViewDelegate, UIImagePickerControllerDelegate,
UINavigationControllerDelegate {

  @IBOutlet weak var collectionView: UICollectionView!

现在你可以使用:

FeedViewController().feedArray.append(feedItem)

问题在于,每次我使用:“FeedViewController()。费用......”我创建了一个新实例,所以我实际上没有正确附加数组。

我希望它有所帮助。