python tableview刚开始没有数据很丑_当我在tableView的最后一行单击“更多数据...”时,TableView没有重新加载数据...

请求我的测试webService的数据,

tableView的最后一行是“更多数据...”

当点击此行时,发送另一个请求以获取更多数据,

我多次使用[tableView reloaddata],但没有任何东西

发生了,我不知道为什么。所以,请帮助我解决这个问题。

先谢谢你。

并有我的tableViewController.h类:

#import

#import "NoticeDetailViewController.h"

@interface NoticeViewController : UIViewController

{

NSMutableArray *allNoticeArray;

NSArray *addNoticeArray;

NSInteger totalNotice;

NSInteger pageIndex;

UITableView *tableView;

}

@property (nonatomic, retain) NSMutableArray *allNoticeArray;

@property (nonatomic, retain) NSArray *addNoticeArray;

@property NSInteger totalNotice;

@property NSInteger pageIndex;

@property (nonatomic, retain) UITableView *tableView;

- (NSMutableArray *)getNoticeList :(NSInteger)pageIndex;

@end和tableViewController.m类:

#import "NoticeViewController.h"

#import "Notice.h"

#import "OAURLEncodingAdditions.h"

@interface NoticeViewController ()

@end

@implementation NoticeViewController

@synthesize allNoticeArray;

@synthesize addNoticeArray;

@synthesize pageIndex;

@synthesize tableView;

@synthesize totalNotice;

- (NSMutableArray *)getNoticeList :(NSInteger)pageIndex

{

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];

NSString *userId = appDelegate.user.userId;

NSString *departmentId = appDelegate.user.departmentId;

NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"https://xxx.xxx.xx.xx/FMS/Pages/Service/FMService.svc/GetAnnouncement?userId=%@&departmentId=%@&pageIndex=%d&pageSize=%d",userId,departmentId,self.pageIndex,1]];

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];

[request setValidatesSecureCertificate:NO];

[request startSynchronous];

NSError *error = [request error];

if (!error)

{

NSString *responseString = [request responseString];

NSDictionary *responseDict = [responseString JSONValue];

NSArray *noticeArray = [responseDict objectForKey:@"d"];

NSMutableArray *arrayOfAllNotice = [[NSMutableArray alloc] init];

for (NSDictionary *noticeDic in noticeArray)

{

NSString *body = [noticeDic objectForKey:@"Body"];

NSString *departmentName = [noticeDic objectForKey:@"DepartmentName"];

NSString *noticeId = [noticeDic objectForKey:@"Id"];

NSString *isTop = [noticeDic objectForKey:@"IsTop"];

NSString *readState = [noticeDic objectForKey:@"ReadState"];

NSString *realName = [noticeDic objectForKey:@"RealName"];

NSString *title = [noticeDic objectForKey:@"Title"];

int noid = [noticeId intValue];

int isto = [isTop intValue];

int read = [readState intValue];

Notice *notice = [[Notice alloc] initWithBody:body

departmentName:departmentName

noticeId: noid

isTop:isto

readState:read

realName:realName

title:title];

[arrayOfAllNotice addObject:notice];

}

self.addNoticeArray = [[NSArray alloc] initWithArray:arrayOfAllNotice];

}

else

{

....

}

[allNoticeArray addObjectsFromArray:addNoticeArray];

NSLog(@"allNoticeArray count: %d",[allNoticeArray count]); //Here:When the last row clicked, the number changes:1->2

[self.tableView reloadData];

return allNoticeArray;

}

#pragma mark -

#pragma mark Table View Data Source Methods

- (NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

{

NSInteger theNumberOfRowsInSection;

if ( [allNoticeArray count] < (self.totalNotice))

{

theNumberOfRowsInSection = [allNoticeArray count]+1;

}

if ( [allNoticeArray count] == (self.totalNotice))

{

theNumberOfRowsInSection = [allNoticeArray count];

}

return theNumberOfRowsInSection;

}

- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

[self.tableView reloadData];

static NSString *NoticeListTableIdentifier = @"NoticeListTableIdentifier";

UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:NoticeListTableIdentifier];

if ( cell == nil )

{

cell = [[[UITableViewCell alloc]

initWithStyle:UITableViewCellStyleDefault reuseIdentifier:NoticeListTableIdentifier] autorelease];

}

if ( [allNoticeArray count] < (self.totalNotice) )

{

if ( [indexPath row] != [allNoticeArray count])

{

NSUInteger row = [indexPath row];

Notice *noticeOfTheRow = [allNoticeArray objectAtIndex:row];

NSString *title = noticeOfTheRow.title;

cell.textLabel.text = title;

}

else

{

cell.textLabel.text = @"More...";

}

}

if ( [allNoticeArray count] == (self.totalNotice) )

{

NSUInteger row = [indexPath row];

Notice *noticeOfTheRow = [allNoticeArray objectAtIndex:row];

NSString *title = noticeOfTheRow.title;

cell.textLabel.text = title;

}

return cell;

}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

{

if ( [indexPath row] != [allNoticeArray count])

{

NSUInteger row = [indexPath row];

Notice *notice = [allNoticeArray objectAtIndex:row];

NSString *noticeDetailTitle = notice.title;

NoticeDetailViewController *noticeDetailViewController = [[[NoticeDetailViewController alloc] init] autorelease];

noticeDetailViewController.title = noticeDetailTitle;

ticeDetailViewController.noticeIdForGet = notice.noticeId;

[self.navigationController pushViewController:noticeDetailViewController animated:YES];

}

if ( [indexPath row] == [allNoticeArray count])

{

MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];

hud.labelText = @"reload...";

self.pageIndex ++;

[self getNoticeList:self.pageIndex];

[self.tableView reloadData];

[MBProgressHUD hideHUDForView:self.view animated:YES];

}

}

- (void)pushBack

{

[self dismissModalViewControllerAnimated:YES];

}

- (void)viewDidLoad

{

[super viewDidLoad];

self.allNoticeArray = [[NSMutableArray alloc] init];

self.pageIndex = 1;

MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];

hud.labelText = @"reload...";

self.title = @"Notice";

UIBarButtonItem *leftButton = [[UIBarButtonItem alloc] initWithTitle:@"back"

style:UIBarButtonItemStyleBordered

target:self

action:@selector(pushBack)];

self.navigationItem.leftBarButtonItem = leftButton;

UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"reload"

style:UIBarButtonItemStyleBordered

target:self

action:@selector(reloadNotice)];

self.navigationItem.rightBarButtonItem = rightButton;

self.allNoticeArray = [self getNoticeList:self.pageIndex];

[MBProgressHUD hideHUDForView:self.view animated:YES];

}

@end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值