RootViewController需要使用/重新加载数据数组xcode 4.3

RootViewController需要使用/重新加载数据数组xcode 4.3,xcode,architecture,ios4,reload,Xcode,Architecture,Ios4,Reload,我正在实现一个示例,在该示例中,我从数据库中读取数据,将其放入数组中,对其进行排序,然后使用RootViewController显示。数据库读取和数组加载发生在RVC代码之前。所以,它工作了,我在RVC创建的窗口中获取数据,那里还有一个导航控制器 我想向导航控制器添加一个按钮或其他东西,这样当你点击它时,它会将一个值发送回RootViewController.m文件,然后基于该值,我想使用数组并在RootViewController窗口中再次显示它 我不知道该怎么做。我必须对.xib和RootV

我正在实现一个示例,在该示例中,我从数据库中读取数据,将其放入数组中,对其进行排序,然后使用RootViewController显示。数据库读取和数组加载发生在RVC代码之前。所以,它工作了,我在RVC创建的窗口中获取数据,那里还有一个导航控制器

我想向导航控制器添加一个按钮或其他东西,这样当你点击它时,它会将一个值发送回RootViewController.m文件,然后基于该值,我想使用数组并在RootViewController窗口中再次显示它

我不知道该怎么做。我必须对.xib和RootViewController.m文件进行哪些更改


求你了,我是个糊涂的努比人-0非常感谢。

这方面的内容相当多,因此我将给出一些一般性的观点,如果其中任何一点导致问题,可能更容易解决较小的细节问题

在RVC的viewDidLoad方法中,可以创建一个按钮,并将其设置为控制器导航项中的右按钮或左按钮

您可以将点击该按钮与控制器中的方法相关联,该方法可以在点击按钮时执行任何操作。(但实际上,按钮不会发送值,因此您可能需要对该想法进行更多解释。)


如果您正在显示数组内容,我假设RVC有一个表视图,因此一旦数组(我假设是可变数组)被重新排序,您就可以告诉表视图重新加载其数据。

在回答您的第二个问题时,一旦您重新使用数组(或者通常按照您的意愿更新数据)您可以强制以编程方式重新加载表视图

[tableView reloadData];

其中“tableView”是指向表视图的实例变量

谢谢。我可以使用多个按钮/选项卡,无论什么。。。它们将是可以排序的列名,所以只要我能够区分它们,它们就不必发送值。谢谢就表格视图而言,它不在xib中,它是在RVC中以编程方式创建的,因此它显示行,点击一行,显示细节,它工作正常,尽管我修改了代码使其符合我的要求。因此,假设我根据RVC窗口中的一个操作对数组进行排序,那么如何确切地告诉表视图重新加载它的数据呢?我所做的(它不工作,但我需要理解为什么)是将一个按钮栏按钮拖到IB中nav控制器的页脚部分。我已将它的操作连接到文件所有者RVC。有一个合成按钮1;在实现和操作中,按下-(iAction)按钮:(id)sender{NSLog(@“howdy doody”);}。在接口中:属性(强,非原子)UIBarButtonItem*bButton1;当我按下按钮时,它退出,并在日志中看到:-[UIApplication button Pressed:]:未识别的选择器发送到实例错误表示您将按钮的操作连接到UIApplication对象,而不是RVC。我不知道这是为什么,但请仔细检查为文件所有者设置的身份。菲利普,我只是表示你的回答很有帮助,不幸的是,除了表达我的感激之外,我没有做任何事情的声誉。非常感谢,先生。我非常感谢你的意见,这非常有帮助。干杯,谢谢。我想我是通过说[self.tableView reloadData]来实现的。但我不确定,我放入了一些NSLog STMT,它不会重新执行viewDidLoad。。。重新加载数据是否会导致重新执行viewDidLoad?我确实知道,由于log语句,它会进入按钮的操作例程,但是当它尝试在stmt之后重新加载数据时,它似乎不会发生。请告知。提前谢谢。复活节快乐。不,重载数据只会导致更新tableView数据源。如果您想看到这种情况发生,可以在:-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath中放置NSLog语句或中断,这不会导致viewDidLoad重新执行。Piwacket,只是一个友好的提示。菲利普和我都为你提供了帮助。这是适当的,你标记一个正确的答案,并有可能“投票”他们以及。感谢提醒。。。我完全是有意的。非常感谢你们的帮助。我已经指出这两个答案都很有帮助。我不知道如何表明哪一个是正确的,就其本身而言(实际上他们都是),我无法投票支持任何事情,因为我缺乏声誉。无论如何,请移动,让我知道,如果有什么我可以做,以表示我的感谢。再次感谢你的提醒。不用担心,我忘了投票需要15个代表。。。也就是说,您可以通过勾选答案左上角上/下投票图标下方的复选标记来“接受”Phillip的答案。(它会变成绿色)这也会给你一些机会我会接受他的,我的更多的是一个附加,也许你可以投票后,当你有代表。