Iphone 如何在ViewCcontroller的第二个视图中使用第一个ViewController的已解析元素?
在我的应用程序中,我向服务器发送一个Iphone 如何在ViewCcontroller的第二个视图中使用第一个ViewController的已解析元素?,iphone,uiviewcontroller,ios5,uitableview,Iphone,Uiviewcontroller,Ios5,Uitableview,在我的应用程序中,我向服务器发送一个GET,并收到一些响应。除了主视图控制器类之外,我还有TavView和TableViewController类。我在主ViewController中进行解析,并希望使用从第一个ViewController收到的结果填充TableViewCells。我还想显示名为DetailViewController的新ViewController中任何单元格的详细信息。现在,视图中的任何导航都可以按照我的要求工作。去查看WWDC 2011的播客 我相信这是正确的视频,它会证
GET
,并收到一些响应。除了主视图控制器类之外,我还有TavView和TableViewController类。我在主ViewController中进行解析,并希望使用从第一个ViewController收到的结果填充TableViewCells。我还想显示名为DetailViewController
的新ViewController
中任何单元格的详细信息。现在,视图中的任何导航都可以按照我的要求工作。去查看WWDC 2011的播客
我相信这是正确的视频,它会证明你到底在寻找什么。他们改进了UITableView,并在ios5的IB情节提要中添加了许多功能。这将有助于演示如何在一个视图控制器中获取数据,并在另一个UIViewtable控制器中显示数据。请查看WWDC 2011的播客
我相信这是正确的视频,它会证明你到底在寻找什么。他们改进了UITableView,并在ios5的IB情节提要中添加了许多功能。这将有助于演示如何在一个视图控制器中获取数据,并在另一个UIViewtable控制器中显示数据。我将阅读您在上面的评论中提供的代码,但同时我认为这对您有很大帮助。这是一种在视图之间发送信息的方法,因此您可以在一个视图中解析数据,并使用此技术轻松地将数据发送到另一个视图。我将阅读您在上面的评论中提供的代码,但同时我认为这对您有很大帮助。这是一种在视图之间发送信息的方法,因此您可以在一个视图中解析数据,并使用此技术轻松地将数据发送到另一个视图。Well@ilhançetin根据您在上面评论中的请求,这里对我提出的解决方案进行了更深入的解释 首先,如果您不知道什么是分片数据模型,那么共享数据模型是我们在项目中定义的一个类,我们创建了它的
静态
实例。由于该实例是静态的,这意味着它一直存在于我们所有的类中。我们使用这个静态实例在项目中的不同类之间共享信息,就像您在问题中需要的一样。例如,如果您觉得需要将字符串值从一个类发送到一个类,则可以将NSString
成员放入共享实例中。下面是我们如何处理共享实例:
.h文件(假设我的类名为MyDataModel
):
从现在起,在我们的程序中,在需要访问此共享字符串的任何类中,我们将导入“MyDataModel.h”,并通过以下方式访问字符串:[MyDataModel sharedInstance].stringToBeShared
。现在我们已经准备好了共享机制,接下来我们将了解如何在另一个视图中填充表
在您的代码中有一条注释,内容如下:
//i want to populate TableViewCells with the messID and the details of each cell(push in new view controller) will contain 'content' above
在这一行中,您要求做两件事,但在代码的这一部分中只能做一件事。现在,我们将填充表格,在表格视图中,当您单击一行时,我们将推送所需的详细信息
为了能够填充表,我们需要一个函数,该函数将在表所在的同一类中进行填充。让我们把它命名为populateTable
。那么,当我们在不同的类中时,我们将如何调用此函数,我们将向谁发送mesid
值?要发送mesid
我们将使用共享实例,因此您将添加保存mesid
值所需的内容。现在要调用populateTable
,我们将使用通知中心(在我之前发布的回答中描述)
通知中心是一种用于调用不同类中函数的机制。因此,在包含populateTable
的类中,您将在viewDidLoad
中向其添加一个侦听器,如下所示:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(populateTable) name:@"DoPopulateTable" object:nil];
我们将使用字符串@“DoPopulateTable”
调用此侦听器。现在,在您的循环中,您将做两件事:
mesid
populateTable
使用:[[NSNotificationCenter defaultCenter]postNotificationName:@“DoPopulateTable”对象:nil userInfo:nil]代码>
NSMutableDictionary
中,其中该字典的键是mesid
(以便在单击表时能够检索它们),表的值是NSArray
s,其中每个数组包含您需要的所有信息
现在,当您想要在包含该表的视图中推送信息时,可以使用[youraryname objectAtIndex:theIndexYouWant]
调用数组中的每个元素
我希望这对你有帮助,记住,一点也不头痛;) Well@ilhançetin根据您在上述评论中的要求,这里对我提出的解决方案进行了更深入的解释 首先,如果您不知道什么是分片数据模型,那么共享数据模型是我们在项目中定义的一个类,我们创建了它的
静态
实例。由于该实例是静态的,这意味着它一直存在于我们所有的类中。我们使用这个静态实例在项目中的不同类之间共享信息,就像您在问题中需要的一样。例如,如果您觉得需要将字符串值从一个类发送到一个类,则可以将NSString
成员放入共享实例中。下面是我们如何处理共享实例:
.h文件(假设我的类是nam
//i want to populate TableViewCells with the messID and the details of each cell(push in new view controller) will contain 'content' above
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(populateTable) name:@"DoPopulateTable" object:nil];