2015-11-28 4 views
1

Im пытается добавить в мой массивдобавить в массив из другого класса в быстрой

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

'FeedViewController()' создает новый экземпляр контроллера вида. Вы должны получить доступ к контроллеру представления, который отображается вместо создания нового. – Adam

+0

Спасибо @adam Я на самом деле создавал ответ, когда вы выложили:) спасибо –

ответ

2

Таким образом, после игры вокруг немного и пытается узнать, я нашел решение

Прежде всего, добавьте массив за пределами из класс так глобальна, поэтому вместо того, чтобы:

import UIKit 
import CoreData 
import MobileCoreServices 

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

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

изменения так у вас есть:

И вместо того, чтобы использовать

FeedViewController().feedArray.append(feedItem) 

Теперь вы можете использовать:

feedArray.append(feedItem) 

чем проблема была, в том, что каждый раз, когда я использовал: «FeedViewController() плата ....» Я создал новый экземпляр, так что я на самом деле Бесполезный 'Приложите массив правильно.

Надеюсь, это помогло.