在我的应用程序中,
有两个不同的视图ItemList和ItemSearch。
在 ItemList 文件中,我有一个NsMutableArray
name tblItem
。我想tblitem
从Itemsearch
页面传入数据。
我怎样才能做到这一点?
在我的应用程序中,
有两个不同的视图ItemList和ItemSearch。
在 ItemList 文件中,我有一个NsMutableArray
name tblItem
。我想tblitem
从Itemsearch
页面传入数据。
我怎样才能做到这一点?
您可以按如下方式使用属性:
1.在tblItem的ItemList.h中创建一个属性为,
@property(nonatomic, retain) NSMutableArray *tblItem;
然后在ItemList.m中合成,
@synthesize tblItem;
当您从 ItemSearch 导航到 ItemList 时,即当您初始化 ItemList 时,只需提供 tblItem 所需的值,
ItemListObj.tblItem = theSearchedArray;
将 NSMutableArray 声明为 SecondViewController 中的属性,并在您从 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
请不要忘记释放 SecondViewController 的aryFromFirstViewController
atdealloc
方法,否则会因为我们保留它而泄漏。如果我知道这在某种程度上对您有所帮助,我会感觉很好。享受。
这取决于您的需要。您可以使用 Singleton 类在不同类之间共享变量。定义您希望在 DataClass 中共享的所有变量。
在 .h 文件中(其中 RootViewController 是我的 DataClass,用您的新类替换名称)
+(RootViewController*)sharedFirstViewController;
在 .m 文件中
//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
希望对你有帮助:)