在我的申请中,
有两种不同的观点 ItemList 和 ItemSearch 。
在ItemList文件中,我有一个名为NsMutableArray
的{{1}}。我希望从tblItem
页面的tblitem
传递数据。
我该怎么做?
答案 0 :(得分:1)
您可以按如下方式使用属性:
1.在tblItem的ItemList.h中创建一个属性为
@property(nonatomic, retain) NSMutableArray *tblItem;
然后在ItemList.m中合成它,
@synthesize tblItem;
当您从ItemSearch导航到ItemList时,即在初始化ItemList时,只需提供tblItem所需的值,
ItemListObj.tblItem = theSearchedArray;
答案 1 :(得分:1)
在SecondViewController中将NSMutableArray声明为属性,并在从FirstViewController推送或呈现SecondViewController时分配数组。
@interface SecondViewController : UIViewController
{
NSMutableArray *aryFromFirstViewController;
}
@property (nonatomic,retain) NSMutableArray *aryFromFirstViewController;
@end
在实现中,合成属性
@implementation SecondViewController
@synthesize aryFromFirstViewController;
@end
在FirstViewController的标题处导入SecondViewController
#import "SecondViewController.h"
在FirstViewController的实现中,在下面编写代码的位置添加代码以呈现或推送SecondViewController
@implementation FirstViewController
- (void) functionForPushingTheSecondViewController
{
SecondViewController *objSecondViewController = [[SecondViewController alloc] initWithNIBName: @"SecondViewController" bundle: nil];
objSecondViewController.aryFromFirstViewController = self.myAryToPass;
[self.navigationController pushViewController:objSecondViewController animated: YES];
[objSecondViewController release];
}
@end
请不要忘记在aryFromFirstViewController
方法中释放dealloc
SecondViewController,否则会因为我们保留它而泄漏。如果我知道这对你有所帮助,我会感觉很好。享受。
答案 2 :(得分:0)
这取决于您的需要。您可以使用Singleton类在不同类之间共享变量。定义要在DataClass中共享的所有变量。
<。>在.h文件中(其中RootViewController是我的DataClass,用新类替换名称)+(RootViewController*)sharedFirstViewController;
<。>文件中的
//make the class singleton:-
+(RootViewController*)sharedFirstViewController
{
@synchronized([RootViewController class])
{
if (!_sharedFirstViewController)
[[self alloc] init];
return _sharedFirstViewController;
}
return nil;
}
+(id)alloc
{
@synchronized([RootViewController class])
{
NSAssert(_sharedFirstViewController == nil,
@"Attempted to allocate a second instance of a singleton.");
_sharedFirstViewController = [super alloc];
return _sharedFirstViewController;
}
return nil;
}
-(id)init {
self = [super init];
if (self != nil) {
// initialize stuff here
}
return self;
}
之后你可以在任何其他类中使用你的变量
[RootViewController sharedFirstViewController].variable
希望它对你有所帮助:)。