我试图追加到我的数组
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?
答案 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()。费用......”我创建了一个新实例,所以我实际上没有正确附加数组。
我希望它有所帮助。