Как передать параметры из .m в другой .m в Objective-C - PullRequest
0 голосов
/ 16 июля 2010

Я пишу приложение для iPhone и хотел бы спросить о параметрах передачи в Objective-C.

Я создаю 2 вида контроллера. Во-первых, у меня есть кнопка, когда пользователь нажимает кнопку, он вызывает - (IBAction) нажатие кнопки (определяется пользователем), а через 5-6 секунд (должен обрабатывать и получать данные в NSMutableArray * ), он будет отображать таблицу. Однако я не знаю, как передать NSMutableArray в класс таблицы. Могу ли я сделать это?

// situation
// ---------------------------------------------
// In MyViewController.m

// class variable
NSMutableArray * arr;
- (IBAction) pressButton: (id)sender {...}
// I retrieve the data and store in the arr

// In TableView.m
// I want to pass the arr to here and use

Я знаю, как создать таблицу, но не знаю, как передать параметры из класса (MyViewController.m) в другой класс (TableView.m).

Ответы [ 2 ]

1 голос
/ 16 июля 2010
  1. В TableView.h объявите метод:

    - (void)doWhateverWithArray: (NSArray *)anArray;
    
  2. В TableView.m реализуйте метод, чтобы делать все, что вам нужно.

  3. В MyViewController.m, в верхней части файла (за пределами @implementation ... @end), записать #import "TableView.h"

  4. При необходимости отправьте -doWhateverWithArray: в табличное представление.

Вызовы функций являются фундаментальной частью процедурных языков программирования, таких как C; отправка сообщений (вызовы методов AKA) являются фундаментальной частью объектно-ориентированных языков программирования, таких как Objective-C.

Характер этого вопроса предполагает, что вы только начинаете заниматься программированием (если я ошибаюсь, пожалуйста, не воспринимайте это как оскорбление - это не так.) Я уверен, что люди могут порекомендовать любое количество вводные тексты для C или Objective-C, но я бы пошел дальше, если бы я был на вашем месте.

Если есть возможность, я рекомендую вам пройти курсы программирования на уровне колледжа или даже получить степень в области компьютерных наук на уровне университета, если у вас есть время и самоотдача. :)

0 голосов
/ 16 июля 2010

В вашем TableView ViewController создайте NSMutableArray следующим образом:

IBOutlet NSMutableArray  *PassedArray;
@property(nonatomic,retain) NSMutableArray  *PassedArray;
@synthesize PassedArray;
[PassedArray release];

Теперь вы можете передать значение NSMutableArray из вашего Myviewcontroller в tableviewcontroller, используя этот

tableviewcontroller *objInstance = [[tableviewcontroller alloc]initWithNibName:@"tableviewcontroller" bundle:nil];
objInstance.PassedArray = NSMutableArray;//Here you declare your passed NSMutableArray
[self.navigationController pushViewController:objInstance animated:YES];
[objInstance release];

Еще один метод - Объявление NSMutableArrayглобальный в MyViewController.h и внешний вид этих переменных в tableviewcontroller.m, например:

extern NSMutableArray *yourArray;
...