我正在开发一个从Mysql数据库加载数据的应用程序。我有3个视图控制器,第一个带有文本字段来获取输入,第二个是主视图,然后是detailView控制器。
当用户在文本字段中输入数据时,它在MySql数据库中搜索并在tableview中填充它。例如,当用户搜索食谱名称pizza时,在UITexField中,tableview必须仅填充披萨配方。 我列出了tableview中的所有食谱。我不知道如何使tableview响应UITextfield输入。
注意:我正在使用JSON序列化来快速加载,并且还可以详细查看图像中的图像。
答案 0 :(得分:1)
您可以使用名为
的UITextField的委托方法-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
当您在UITextField中将文本放入此方法后按下返回键时可以调用此方法,您可以调用一个方法,例如 - (void)fetchDataFromMysql
调用此方法后,您的代码将显示为
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
[self fetchDataFromMysql];
[textField resignFirstResponder];
return YES;
}
在fetchDataFromMysql方法中从Mysql商店中检索食谱的名称,该名称检索了用于在tableView中绘制食谱名称的数组中的食谱名称,说“recipeNameAry”。
因此,当用户输入搜索关键字例如披萨时,您将从Mysql获取披萨食谱,我们将这些食谱存储在“recipeNameAry”中,现在是时候更新食谱名称的tableView了,所以在此之后调用名为“reloadData”的方法来更新tableView,调用此方法后,您的代码看起来像
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
[self fetchDataFromMysql];
[recipeNameTableView reloadData];
//here recipeNameTableView is the name of your tableView.
[textField resignFirstResponder];
return YES;
}
它将使用属于披萨或其他任何东西的食谱更新你的tableView。
注意: - 首先将UITextFieldDelegate添加到您的.h文件中
#import <UIKit/UIKit.h>
@interface contact : UIViewController <UITableViewDataSource,UITableViewDelegate,UITextFieldDelegate>
{
}
@end
并在您的XIB中使用您的FileOwner将代理添加到您的UITextField
答案 1 :(得分:0)
要填充表格,您必须使用一个数组,其数据取决于第一个VC中通过文本字段的选择。因此,首先根据文本字段中的文本获取数组中的相应数据,然后使用该数组填充表。要随时更新表格,您可以使用
[tblname reloadData];