2012-08-01 1 views
0

Мое приложение имеет два вида. Основной вид позволяет вводить сведения о продукте и хранится в массиве во втором представлении. Всякий раз, когда я переключаюсь на второе представление, все детали продукта должны быть загружены в представление таблицы.Загрузка массива на дополнительном представлении с данными с основного вида

Проблема в том, что всякий раз, когда я пытаюсь добавить продукт в массив, он сохраняет данные, но заменяет предыдущие данные. Таким образом, весь массив времени хранится только с одной информацией о продукте. Я предполагаю, что массив получает инициализацию каждый раз, когда я добавляю продукт. Вот код,

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
    { 

    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
     // Custom initialization 
     productArray =[[NSMutableArray alloc] init]; 
    } 
    return self; 
} 

Я попытался выделить массив в методе viewDidLoad и во многих других местах, но ничего не помогло.

Пожалуйста, помогите.

Благодаря

ответ

1

Я не совсем уверен, если я понимаю ваш вопрос, но:

  1. Если вы хотите добавить объект в массив, вы должны установить массив в качестве NSMutableArray и вызовите addObject, чтобы массив теперь содержал ваш новый объект.
  2. Если вы хотите передать массив с вашего основного вида на второй вид, вы должны сделать это в своей настройке segue. В основном у вас есть @property на втором экране, а в методе performSegue в вашем основном представлении вы устанавливаете @property в любой массив, которым вы хотите.

Вы не можете использовать segue без раскадровки (по крайней мере, я не знаю, как). Так что если вы хотите использовать XIB, что вам нужно сделать это традиционным способом:

SomeViewController *viewController = [[SomeViewController alloc] initWithNibName:@"nib" bundle:nil];; 
viewController.array = self.array; // the array you want to pass to your new view 

Так что в вашем Alloc-INIT вещь, вы только экземпляр вашего массива, но, похоже, не передавать эти данные Это?

+0

@iBlue .. Спасибо за быстрый ответ. Я использую массив NSMutable с методом addObject. Не могли бы вы предоставить пример кода, который использует Segue. Кстати, я не использую раскадровки. Это приложение с одним представлением с дополнительным ViewController и xib-файлом. – Sibin

+0

комментарии не поддерживают код блока. lemme изменить мой ответ – aforaudrey

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

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