【发布时间】:2012-01-17 09:56:58
【问题描述】:
任何人都可以帮助我了解如何在单击按钮时推送表格视图。 我想将 NSMutableArray 中的消息加载到表格视图单元格中,并且 NSMutableArray 加载了从 URL 解析的数据..
-(IBAction)readMessages:(id)sender
{
// i want to push the tableview when clicking the button in relation with this method
// WHAT MUST I DO HERE?
}
我喜欢编辑这个问题,而不是问一个新问题,因为这件事是在同一方面.. 我现在可以以编程方式创建表格视图,但我无法使用从 Json 数组中获得的数据初始化它的单元格。这是我的代码:
NSString *str1=[@"?username=" stringByAppendingString:userNameField.text];
NSString *str2=[@"&password=" stringByAppendingString:passwordField.text];
NSString *str3=[str1 stringByAppendingString:str2];
NSString *str4 =[@"http://" stringByAppendingString:serverField.text];
NSURL *url=[NSURL URLWithString:[str4 stringByAppendingString:[@"/ipad/login.php" stringByAppendingString:str3]]];
//get the url to jsondata
NSData *jSonData=[NSData dataWithContentsOfURL:url];
if (jSonData!=nil) {
NSError *error=nil;
id result=[NSJSONSerialization JSONObjectWithData:jSonData options:
NSJSONReadingMutableContainers error:&error];
if (error==nil) {
NSDictionary *mess=[result objectForKey:@"message"];
NSDictionary *messContent=[mess valueForKeyPath:@"message"];
NSDictionary *messID=[mess valueForKeyPath:@"ID"];
NSString*key1=[ result objectForKey:@"key" ];
NSString *s1=[@"http://" stringByAppendingString:serverField.text];
NSString *s2=[s1 stringByAppendingString:@"/ipad/button.php"];
NSURL *url2=[NSURL URLWithString:[s2 stringByAppendingString:[@"?key=" stringByAppendingString:key1]]];
NSData *data2=[NSData dataWithContentsOfURL:url2];
id result2=[NSJSONSerialization JSONObjectWithData:data2 options:NSJSONReadingMutableContainers error:nil];
mesID = [NSMutableArray array];//saving meesage ID s to NSMutableArray
content = [NSMutableArray array];
// i logged here and it saves the data, now i want to display my data in table view
for (NSDictionary *data in mess) {
[mesID addObject:[data objectForKey:@"ID"]];
[content addObject:[data objectForKey:@"message"]];
[[NSUserDefaults standardUserDefaults] setObject:messID forKey:@"message"];
[[NSUserDefaults standardUserDefaults] setObject:messContent forKey:@"messContent"];
//messID will be saved as the Title of the cells and messContent will be displayed as the text area of that cell, opening in a new view
这是输出,我想将单元格的标题设置为 ID,将其内容设置为文本:
2012-01-17 16:26:59.873 ipad_Teslim[940:f803] MessID: (
1,
3
)
2012-01-17 16:26:59.875 ipad_Teslim[940:f803] Content: (
asdf,
"this is a test"
)
正如我在代码中提到的,messID 将保存为单元格的标题,而 messContent 将显示为该单元格的文本区域,在新视图中打开。我现在该怎么做?请帮助我,那里有很多教程,我也看了很多但无法解决这个问题。
【问题讨论】:
-
顺便说一句,我在我的班级的不同方法中使用上面的代码
标签: objective-c uitableview ios5 nsmutablearray