0
这一次经过长达有点复杂〜登录屏幕+表视图中的一个选项卡控制器=没有显示初始登录
明白了验证,从异地服务器的用户名/口令的登录页面。服务器返回一个用户ID,然后在我的应用程序中使用它来查找匹配的plist文件。如果还没有一个,它应该为样本数据为该用户创建一个新的plist。这一切工作,但没有任何显示,除非我终止,然后重新启动应用程序。
我认为问题是tableview与模态登录页面同时加载。
下面是我的登录页面代码:
-(void)connectionDidFinishLoading:(NSURLConnection *)connection{
[fIndicator stopAnimating];
//convert data from server to a string
NSString *xmlReturn = [[NSString alloc] initWithData:xmlData encoding:NSUTF8StringEncoding];
//notify user if username/pass failed
if ([xmlReturn isEqualToString:@"0"] ||[xmlReturn isEqualToString:@"No"]) {
UIAlertView *alert =[[UIAlertView alloc]initWithTitle:@"Login Fail" message:nil delegate:nil cancelButtonTitle:@"Retry" otherButtonTitles:nil];
[alert show];
[alert release];
}
//if server authenticates username/pass
else {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
//set user ID from server into Defaults for app use
[defaults setObject:xmlReturn forKey:@"AppPref_UI"];
[defaults synchronize];
//this is where I think the tableview needs to be told to reload
//but no idea how to reference that view controller from
//this modal view controller
[??? reloadData];
[self dismissModalViewControllerAnimated:YES];
}
[xmlReturn release];
}
它将有助于获得更多有关您的视图层次结构的信息。 – 2011-04-06 22:08:47
该应用程序的主要部分使用带有2个视图的选项卡视图控制器:(A)具有表格视图的Nav控制器,可深入到详细的视图和(B)显示用户信息的简单视图。如果用户第一次登录或已从应用程序注销,则登录页面将从导航控制器以模态方式调用。 – Jalakoo 2011-04-06 22:13:27
好的,解决了,感觉不那么聪明。如果其他人碰巧遇到这个完全相同的问题,这里是我的解决方案:替换“[??? reloadData];” (你的函数或代码来创建一个新的plist文件)。我的功能是“[脚本aCheckforSavedScripts];”如果没有看到我为此构建的全部课程和功能,这是没有意义的,但它应该让你知道要走向何方。无论如何,如果在这里生成新的plist,当登录模式视图消失时,tableview将自动更新。 – Jalakoo 2011-04-06 22:56:18