2010-07-16 48 views
0

我正在编写iPhone应用程序,我想问一下目标C中传递的参数。我创建了2个视图控制器。在第一个中,我有一个按钮,当用户按下按钮时,它将调用 - (IBAction)pressButton(用户定义的),并在5-6秒后(必须处理并检索NSMutableArray * ),它会显示一个表格。但是,我不知道如何将NSMutableArray传递给表类。我可以这样做吗?如何将参数从.m传递到另一个.m目标C

// 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 

我知道如何从这个website创建表,但我不知道如何从一个类(MyViewController.m)传递参数到其他类(TableView.m)。任何人都可以帮助我吗?非常感谢你。

回答

0

在你的TableView的ViewController创建的NSMutableArray这样

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

现在你可以从你的Myviewcontroller通过NSMutableArray中值使用此

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 * yourArray是全局的tableviewcontroller在MyViewController.h和extern中这些变量在tableviewcontroller.m中是这样的

extern NSMutableArray *yourArray; 
1
  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,但如果我在你的鞋子,我会走得更远。

如果您有时间和奉献精神,我建议您参加大学水平的编程课程,甚至在大学水平参加计算机科学学位课程。 :)

+1

(我还建议你在Objective-C开始之前充分研究学习C)。 – 2010-07-16 05:00:53

+0

完全学习C吗? C渐近方法的知识1.;) – 2010-07-16 05:33:12

+0

同意@chpwn。这个问题暗示对于面向对象编程的基础知识缺乏了解。 – 2010-07-16 05:45:37

相关问题