хорошо это мой первый пост & не может загрузить изображение, потому что мне нужен 10 репутации, XD, но это, s ИТАК:как передать данные с моего второго контроллера представления на мой первый контроллер просмотра с помощью раскадровки или segues, протоколов и делегатов?
Привет ребята, ну мне нужно передать label.text от моего ячейку в моем табличном представлении с моего второго или дочернего контроллера представления, до моего первого или родительского контроллера представления, я хочу нажать в ячейку & вернуться со строкой для загрузки в метку с моего первого контроллера представления, я использовал segues из раскадровки , Я использовал протоколы & делегатов, но не работал, в других вопросах ответы или примеры противоречат тому, что мне нужно, или это совсем другой способ для версии xcode или как наилучший способ для t o сделать это ?, на картинке я использую кнопку для перехода к следующему контроллеру представления для выбора текста ярлыка, который я хочу в моем первом контроллере представления, Im с использованием xcode 4.6 & раскадровка & ARC тоже & некоторые строки кода не рекомендуется, пожалуйста, помогите мне, ребята! & спасибо LOT !!!,
поздравления от BOLIVIA !!! ñ_ñ»
код выглядит так:
@interface FirstViewController : UIViewController <SecondTableViewControllerDelegate>
@property (copy, nonatomic) NSString *displayText;
@property (weak, nonatomic) IBOutlet UILabel *displayLabel;
@property (strong, nonatomic)IBOutlet UIButton *Next;
@end
@interface FirstViewController()
@end
@implementation FirstViewController
@synthesize Next;
-(void)viewDidLoad
{
[super viewDidLoad];
if (![[NSUserDefaults standardUserDefaults] objectForKey:@"FIRST_TIME"])
{
NSLog(@"ES PRIMERA VEZ");
[Next sendActionsForControlEvents:UIControlEventTouchUpInside];
}
else
{
NSLog(@"NO ES PRIMERA VEZ");
}
}
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
if (self.displayText)
{
self.displayLabel.text = self.displayText;
} else {
self.displayLabel.text = kDefaultDisplayText;
}
}
#pragma mark - Delegate methods
- (void)updateText:(NSString *)text {
self.displayText = text;
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if (![segue.identifier isEqualToString:@"toSecondTableview"]) {
return;
}
/*
SecondTableViewController *destinationController = segue.destinationViewController;
destinationController.delegate = self;
destinationController.editText = self.displayText;
*/
//-- if I pass data from the first view controller to the second right?
}
@end
in the second view
@protocol SecondTableViewControllerDelegate <NSObject>
@optional
- (void)updateText:(NSString *)text;
@end
@interface SecondTableViewController : UIViewController<UITableViewDelegate, UITableViewDataSource>
@property (weak, nonatomic) id<SecondTableViewControllerDelegate> delegate;
@property (copy, nonatomic) NSString *editText;
@property (weak, nonatomic) IBOutlet UITableView *myTable;
@interface SecondTableViewController()
@end
@implementation SecondTableViewController
-(void)viewDidLoad
{
[super viewDidLoad];
[[NSUserDefaults standardUserDefaults] setObject:@"NO" forKey:@"FIRST_TIME"];
//---how use the UItable Methods?, how use the protocol method?
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return self.myArray.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"myArray";
myArrayCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
NSDictionary *conjunto = [self.jogArray objectAtIndex:indexPath.row];
cell.myLabel.text = [conjunto objectForKey:@"prueba"];
return cell;
}
или делегат протокол должен быть в другом контроллере представления ?, Я ХОЧУ ПОКАЗАТЬ В LABEL ТЕКСТ ИЗ ЛЮБОЙ КЛЕТКИ ИЗ СЛЕДУЮЩЕГО ЗРЕНИЯ УПРАВЛЕНИЯ КАК AM Я ДЕЛАТЬ?
проблема такая [ссылка] (http://g14.picoodle.com/ltd/img14/5/3/5/dennis_mostajo/f_1nyc_5fb_ud7ko.png) –
Выглядит хорошо. Вы просто не назовете 'updateText:'. Задание делегата закомментировано. Зачем?. Это необходимо для отправки сообщения 'updateText:' делегату. –
, потому что этот код работает, если я хочу передавать данные с первого контроллера представления ко второму, но не второму из первого –