在我的应用程序中,我使用UItablevIEw作为我的mainclass.as图像的子类,如下所示
我在我的Mainclass中添加tablevIEw,就像这样“testingVIEwController”
在testingVIEwController.h中
#import "inputtablevIEw.h"@interface testingVIEwController :UIVIEwController<UItableVIEwDelegate,UItableVIEwDataSource> { inputtablevIEw *inputvIEw; IBOutlet UItableVIEw *inputtbl; }@end
在testingVIEwController.m中
- (voID)vIEwDIDLoad {btn1bool=FALSE;if (inputvIEw == nil) { inputvIEw = [[inputtablevIEw alloc] init];}[inputtbl setDataSource:inputvIEw];[inputtbl setDelegate:inputvIEw];inputvIEw.vIEw = inputvIEw.tableVIEw;}
现在在button动作方法中
-(IBAction)input:(ID)sender { btn1bool=TRUE;}
我的子类代码“inputtablevIEw.m”如下所示
- (voID)vIEwDIDLoad { [super vIEwDIDLoad];listofItems=[[NSMutableArray alloc] initWithObjects:@"Iceland",@"Greenland",@"Switzerland",@"norway",@"New Zealand",@"Greece",@"Italy",@"Ireland",nil]; array1 = [[NSMutableArray alloc] initWithObjects:@"A",@"B",@"C",@"D",@"E",@"F",@"G",@"H",nil] ; } #pragma mark - #pragma mark table VIEw datasource methods-(NSInteger) tableVIEw:(UItableVIEw *)table numberOfRowsInSection:(NSInteger)section { if (btn1bool) { return [array1 count]; }else { return [listofItems count];}[self.tableVIEw reloadData]; } -(UItableVIEwCell *) tableVIEw:(UItableVIEw *)tableVIEw cellForRowAtIndexPath:(NSIndexPath *)indexPath {static Nsstring *CellIDentifIEr = @"CellIDentifIEr";UItableVIEwCell *cell = [tableVIEw dequeueReusableCellWithIDentifIEr:CellIDentifIEr];if (cell == nil) { cell = [[[UItableVIEwCell alloc] initWithStyle:UItableVIEwCellStyleSubTitle reuseIDentifIEr:CellIDentifIEr] autorelease];}NSLog(@"Row: %i",indexPath.row);if (btn1bool) { Nsstring *cellValue = [array1 objectAtIndex:indexPath.row]; cell.text = cellValue;}else { Nsstring *cellValue = [listofItems objectAtIndex:indexPath.row]; cell.text = cellValue; } return cell; }
将提供任何帮助.
解决方法 只需输入以下代码:[inputtbl reloadData];
您需要在项目中更改一些内容,但我认为此项目仅用于测试内容.
您希望在按下按钮后重新加载日期,因此您可以在IBAction中调用该方法.
-(IBAction)input:(ID)sender{ btn1bool=TRUE; [inputvIEw.tableVIEw reloadData];}
要在按下按钮时在两个数据源之间切换,您可以更改为以下代码行:btn1bool =!btn1bool;
(NSInteger) tableVIEw:(UItableVIEw *)table numberOfRowsInSection:(NSInteger)section{ if (btn1bool) { return [array1 count]; } else { return [listofItems count]; }}
– (UItableVIEwCell *)tableVIEw:(UItableVIEw *)tableVIEw cellForRowAtIndexPath:(NSIndexPath *)indexPath是正确的
总结以上是内存溢出为你收集整理的iphone – UITableView如何一次显示两个不同的数组?全部内容,希望文章能够帮你解决iphone – UITableView如何一次显示两个不同的数组?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)