Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
Johnybgoode777
0 / 0 / 0
Регистрация: 29.12.2013
Сообщений: 13
#1

Не работает delegate - Программирование iOS

19.03.2014, 19:28. Просмотров 441. Ответов 1
Метки нет (Все метки)

Всем привет, у меня такая проблема, не получается написать делегат. По задумке есть 2 вью контроллера, в одном из них есть UItextBox, в который юзер вводит число с плавающей точкой, и кнопка. Число должно передаваться в другой вью контроллер по нажатию кнопки и выводиться там в UIabel. Но этого не происходит. Я тут выложил свой код, подскажите, что я неправильно делаю?
FirstViewController.h
Objective-C
1
2
3
4
5
6
7
8
9
10
#import <UIKit/UIKit.h>
#import "DelegateProtocol.h"
@interface FirstViewController : UIViewController{
 IBOutlet UITextField *textfield1;
   __unsafe_unretained id <DelegateProtocol> _delegate;
 
}
@property (nonatomic, assign) id <DelegateProtocol> delegate;
- (IBAction) ButtonClick:(id) sender;
@end
FirstViewController.m
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#import "FirstViewController.h"
 
@implementation FirstViewController
@synthesize delegate=_delegate;
- (void)viewDidLoad
{
    [super viewDidLoad];
    
    // Do any additional setup after loading the view, typically from a nib.
}
 
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
- (IBAction) ButtonClick:(id) sender{
    float g = [textfield1.text floatValue];
    [self.delegate SendA:g];
    
}
 
@end
SecondViewController.h
Objective-C
1
2
3
4
5
6
7
8
9
#import <UIKit/UIKit.h>
#import "DelegateProtocol.h"
#import "FirstViewController.h"
@interface SecondViewController : UIViewController<DelegateProtocol> {
    float _a, _b;
    IBOutlet UILabel * Alabel;
}
@property float a, b;
@end
SecondViewController.m
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#import "SecondViewController.h"
 
@implementation SecondViewController
@synthesize a=_a;
- (void)viewDidLoad
{
    [super viewDidLoad];
    FirstViewController * testAppViewController = [[FirstViewController alloc] init];
    testAppViewController.delegate = self;
    // Do any additional setup after loading the view, typically from a nib.
}
-(void) SendA:(float) A{
    self.a = A ;
    NSString *str = [NSString stringWithFormat:@"%f", self.a];
    [Alabel  setText:str];
}
 
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
 
@end
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2014, 19:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не работает delegate (Программирование iOS):

Delegate.Combine() не работает - C#
Читаю Троелсена &quot;C# 5.0 и платформа .NET 4.5&quot; и дошел до делегатов. В главе &quot;Включение группового вызова&quot; рассказывается, что использование...

Не работает dispatcher: Невозможно преобразовать "лямбда-выражение" к типу "System.Delegate" - C# WPF
Не работает dispatcher. Всегда все норм, а щас не пойму.. Dispatcher.BeginInvoke(() =&gt; image1.Source = im); Невозможно преобразовать...

Delegate - C#
using System; // This delegate returns int and takes an int argument. delegate int CountIt(int end); class VarCapture...

.NET 3.x Delegate - C#
Всем здравствуйте! Прочел гору инфы и справок. Вроде все сделала &quot;по уму&quot; а не работает... Есть 2 формы: В форме 1 вот такой вот...

.NET 4.x Ошибка Delegate - C#
Здравствуйте! Пишу бот, но мешает одна ошибка. Помогите с ней разобраться, пожалуйста Есть код: base.Invoke(() =&gt;...

Delegate и textbox - C#
В классе main, есть textbox (txtLog). и еще метод addLog public void addLog(string text, string tr = &quot;Операция&quot;) { txtLog.Text = &quot;&quot; +...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Pro2005
44 / 44 / 3
Регистрация: 27.05.2013
Сообщений: 163
20.03.2014, 16:13 #2
А вот так:
Objective-C
1
2
3
4
5
6
- (IBAction) ButtonClick:(id) sender{
    float g = [textfield1.text floatValue];
    NSAssert(self.delegate != nil, @"Delegate isn't initialized yet");
    [self.delegate SendA:g];
    
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2014, 16:13
Привет! Вот еще темы с ответами:

Delegate method - Java
Помогите пожалуйста решить задачу. Создать класс Руль, Колесо, Кузов - описать данные классы (гетеры, сеттеры, туСтринг, конструктор)....

Автосервис шаблоном Delegate - Java SE
Помогите примерно написать код к этому заданию. Есть автосервис в котором работает персонал со следующими полями: специалист по...

Delegate- ошибка компиляции - C#
Программа находит в какой четверти находиться точка. delegate int Rub(int i,int j); class Program { ...

Работа с DataGridViewCellEventHandler Delegate - C#
Люди подскажите пожайлуста private void button1_Click(object sender, EventArgs e) { modify mod = new...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru