如题,继续小白学Ob-c,先谢各位大大!
想要把textfield中输入的变量存储在table中,附上代码:
在HWviewcontroller中的:
'''
@interface HWViewController ()
@property (nonatomic, strong) HWTableViewController *myTableViewController;
@property (strong, nonatomic) IBOutlet UISegmentedControl *mySegmentedControl;
@property (strong, nonatomic) IBOutlet UITextField *main;
@property (strong, nonatomic) IBOutlet UITextField *detail;
@property (strong, nonatomic) IBOutlet UIButton *addButton;
@property (strong, nonatomic) IBOutlet UIButton *showButton;
@property (strong, nonatomic) NSMutableDictionary *myItem;
@property (strong, nonatomic) NSString *combinedWord;
@end
@implementation HWViewController
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
NSLog(@"return button pressed");
[self.main resignFirstResponder];
[self.detail resignFirstResponder];
return YES;
}
-(IBAction)addPressed:(id)sender {
NSString *item=self.main.text;
NSString *detail=self.detail.text;
NSString *combine=[NSString stringWithFormat:@"%@%@",item,detail];
self.combinedWord=combine;
NSMutableArray *myWordArray = [[NSMutableArray alloc] init];
[myWordArray addObject:item];
[myWordArray addObject:detail];
[self.myItem setObject:myWordArray forKey:combine];
}
-(IBAction)showPressed:(id)sender {
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:self.myTableViewController];
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithTitle:@"Return"
style:UIBarButtonItemStyleDone target:self
action:@selector(dismissModalViewControllerAnimated:)];
[self.myTableViewController.navigationItem setLeftBarButtonItem:doneButton];
[self presentViewController:navController animated:YES completion:nil];
}
'''
然后tableviewcontroller的:
'''
@interface HWTableViewController ()
@end
@implementation HWTableViewController
(id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];
if (self) {
// Custom initialization
}
return self;
}
(void)viewDidLoad
{
[super viewDidLoad];
// Uncomment the following line to preserve selection between presentations.
// self.clearsSelectionOnViewWillAppear = NO;
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem;
}
(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
// Return the number of sections.
return 2;
}
(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return the number of rows in the section.
return 2;
}
(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"];
}
int r = indexPath.row;
int s = indexPath.section;
//这里是有问题的敌方,貌似不行
cell.textLabel.text = 这里想是self.main
cell.detailTextLabel.text = 这里像是self.detail
if (r%2 == 0) {
cell.backgroundColor = [UIColor redColor];
}
else{
cell.backgroundColor = [UIColor whiteColor];
}
return cell;
}
(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
int r = indexPath.row;
int s = indexPath.section;
NSString *string = [NSString stringWithFormat:@"Section %d, Row %d", s, r];
NSLog(@"%@", string);
[tableView deselectRowAtIndexPath:indexPath animated:YES];
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Selection" message:@"You have selected a row!" delegate:self cancelButtonTitle:@"Okay" otherButtonTitles:@"Thatz not okay", nil];
[alertView show];
'''
cell.textLabel.text = 这里想是self.main
cell.detailTextLabel.text = 这里像是self.detail
Ini jelas tidak mungkin, kerana tiada nilai
self.main
,self.detail
dandalam paparan jadual anda. Sebenarnya terdapat beberapa cara untuk menyelesaikan masalah ini
记住,tableview有代理和数据源
Terdapat cara yang lebih mudah untuk keluar dari papan kekunci