У меня есть простой TableView, когда ячейка выбрана Я хочу, чтобы содержимое было передано нескольким полям в подробном представлении, чтобы их можно было изменить и сохранить снова в таблице.Установка UITextField из ячейки
В моем коде не было никаких проблем, ошибок нет, и когда я отлаживаю, все переменные отлично, но мое поле остается пустым. Я пытался с массивами, я пытался со струнами, без лечения.
Я делаю свои первые шаги с Objective-C, исходящими от Java, может кто-нибудь похвастаться, пожалуйста?
Вот мой код:
В моей TableViewController.m:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
if (!cell){
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
}
SNMGps *selectedCell = [arrayOfCell objectAtIndex:indexPath.row];
NSLog(@"%d - '%@ - '%@'- '%@'- '%@'", selectedCell.gpsID, selectedCell.name,selectedCell.userName,selectedCell.psw, selectedCell.notes);
SNMAddViewController *field = [[SNMAddViewController alloc]init];
//[field setGpsID1:selectedCell.gpsID];
[field setName1:selectedCell.name];
[field setUserName1:selectedCell.userName];
[field setPsw1:selectedCell.psw];
[field setNotes1:selectedCell.notes];
[field setFields];
}
NSLog показывает прекрасные данные.
В моей DetailViewController.h
#import <UIKit/UIKit.h>
#import "sqlite3.h"
#import "SNMGps.h"
@interface SNMAddViewController : UIViewController
@property(strong, nonatomic) NSString *name1;
@property(strong, nonatomic) NSString *userName1;
@property(strong, nonatomic) NSString *psw1;
@property(strong, nonatomic) NSString *notes1;
//@property(strong, nonatomic) NSString *gpsID1;
@property (strong, nonatomic) IBOutlet UITextField *nameText;
@property (strong, nonatomic) IBOutlet UITextField *userNameText;
@property (strong, nonatomic) IBOutlet UITextField *pswText;
@property (strong, nonatomic) IBOutlet UITextField *notesText;
- (IBAction)saveEntry:(id)sender;
- (void) setFields;
@end
В моей DetailViewController.m
#import "SNMAddViewController.h"
@interface SNMAddViewController()
@end
@implementation SNMAddViewController
//@synthesize nameText, userNameText, pswText, notesText, g;
NSMutableArray *arrayOfCell;
NSString *dbPathString;
sqlite3 *gpsDB;
@synthesize name1, userName1, psw1, notes1;
@synthesize nameText, userNameText, pswText, notesText;
- (void) setFields
{
nameText.text = [NSString stringWithFormat:@"%@",name1];
userNameText.text = [NSString stringWithFormat:@"%@",userName1];
pswText.text = [NSString stringWithFormat:@"%@",psw1];
notesText.text = [NSString stringWithFormat:@"%@",notes1];
}
Когда я отладить переменные name1, USERNAME1 и т.д. устанавливаются в соответствующие данные, но поля nameText.text остается ноль.
ли вы сопоставляете свой UITextField с XIB propperly ....? Думаю, ты забыл это. –
Кажется, вы выделили представление SNMAddViewController. Но где логика навигации в файле didSelectRowAtIndexPath :? – Xcoder
@Renjith Я не уверен, что вы имеете в виду «Но где логика навигации в файле didSelectRowAtIndexPath :?» Выделение SNMAddViewController находится в файле didSelectRowAtIndexPath. – Irene