首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用UI表视图,iOS 7

使用UI表视图,iOS 7
EN

Stack Overflow用户
提问于 2014-02-19 17:40:04
回答 2查看 104关注 0票数 0

我的项目中有UI View TableSimple View控制器。它们通过导航控制器相互连接。在UI View Table的顶部,有一个按钮"Add“调用Simple View的segue。后者具有必须由用户填充的文本字段。当用户点击“后退”按钮时,他/她必须看到新添加的单元格的“更新”UI表视图。

为了在这些视图之间传递数据,我使用了单例类(从我的角度来看,这完全符合MVC模式)。该对象具有NSMutableArray属性,当用户完成在Simple View控制器上键入at文本字段时更新该属性。

但是,当我第一次启动应用程序时,按application按钮,在text字段输入文本并回击--即UI表不更新。

但是,当我再次重复相同的步骤时,两个(相同的)单元格将被添加到UI表视图中。

您能否提示我如何解决这个问题,即当用户按下后退按钮时,只向UI表视图添加一个单元格?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-19 18:19:42

这是因为-(IBAction)textFieldReturn:(Id)发件人被触发了两次。您必须将该方法添加到viewWillDisappear:(BOOL)动画中,并检查空值:

代码语言:javascript
运行
复制
-(IBAction)textFieldReturn:(id)sender{

}

-(void)viewWillDisappear:(BOOL)animated {

    if ([_textSearch.text length] == 0) return;

    NSLog(@"%@", _textSearch.text);
    _info.isEdited=YES;
    _info=[GeoChatInformationAboutTheSelectedPlace returnInstance];
    [_info.arrayOfTheNamesOfTheLocations addObject:_textSearch.text];
    [_info.imagesOfTheSavedLocations addObject:@"car1.jpeg"];
    [_info.arrayOfTheNumberOfUpdatesOfTheSavedLocations addObject:@"1"];
    [_info.arrayOfTheOnLineUsersAtTheSavedLocations addObject:@"56"];
    [_info.arrayOfThePostsAssociatedWithTheSelectedLocation addObject:@3];
}
票数 1
EN

Stack Overflow用户

发布于 2014-02-19 17:52:57

您必须在tableview视图控制器的UITableView方法中重新加载viewWillAppear:animated数据源:

代码语言:javascript
运行
复制
    - (void)viewDidLoad
{
    [super viewDidLoad];
    _info=[GeoChatInformationAboutTheSelectedPlace returnInstance];
    //[self.tableView reloadData];
}

-(void)viewWillAppear:(BOOL)animated {

    [self.tableView reloadData];
}

ps:您的github项目中缺少car1.jpeg和car2.jpeg

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21888149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档