iphone – UITableView如何一次显示两个不同的数组?

iphone – UITableView如何一次显示两个不同的数组?,第1张

概述下面的代码工作,但不是我希望.我希望当我点击UI按钮时,它自动更新UITableview中的新值而不是旧值.Below代码只有当我按下UI按钮时才有效,之后我滚动UITableview然后更新具有新值的UItableview. 在我的应用程序中,我使用UITableview作为我的mainclass.as图像的子类,如下所示 我在我的Mainclass中添加Tableview,就像这样“testi 下面的代码工作,但不是我希望.我希望当我点击UI按钮时,它自动更新UItablevIEw中的新值而不是旧值.Below代码只有当我按下UI按钮时才有效,之后我滚动UItablevIEw然后更新具有新值的UItablevIEw.
在我的应用程序中,我使用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如何一次显示两个不同的数组?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1004712.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存