我在这里阅读了关于在两个视图控制器之间传递数据的几个问题,并看到了建议的不同方式。我的问题如下:
我有一个在工具栏中有一个搜索栏的视图控制器(我们称之为“A”)。没有其他的。然后我有另一个视图控制器(“B”),当用户在搜索栏中搜索时按下键盘上的搜索按钮时,它负责显示弹出视图。这一切都有效。用户输入文本,按下搜索按钮,弹出框就会显示出来。伟大的。
现在我还没有在弹出表视图中显示任何搜索结果,并试图将 a 作为参数传递 NSMutableArray
给 B 中的函数:
单位:
@property (nonatomic, retain) NSMutableArray *searchResults;
在 Bm 中:
@synthesize searchResults;
-(void)setSearchResults:(NSMutableArray *)resultArray{
[self.searchResults removeAllObjects];
[self.searchResults addObjectsFromArray:resultArray];
}
在啊:
#import "B.h"
@property(nonatomic, retain) B *viewControllerObjectB;
在上午:
@synthesize viewControllerObjectB;
//The searchResultsArray is passed on from another function
-(void)communicateWithB:(NSMutableArray *)searchResultsArray{
//I initialize the viewControllerObjectB in here
NSMutableArray *temp = [[NSMutableArray alloc] initWithArray:searchResultsArray];
[viewControllerObjectB setSearchResults:temp];
}
现在这一切都有效,除了我没有将 temp 的内容传递到 Bm 中的函数中,我是空的(nil)。这是我的问题。
我对 iOS 还很陌生,因此我们将不胜感激。
编辑:忘了提到我正在使用ARC。