Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование iOS/iPhone
Войти
Регистрация
Восстановить пароль
 
Johnybgoode777
0 / 0 / 0
Регистрация: 29.12.2013
Сообщений: 13
#1

Не работает delegate

19.03.2014, 19:28. Просмотров 470. Ответов 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.Combine() не работает
Читаю Троелсена &quot;C# 5.0 и платформа .NET 4.5&quot; и дошел до делегатов. В главе &quot;Включение группового...

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

Delegate
Всем здравствуйте! Прочел гору инфы и справок. Вроде все сделала &quot;по уму&quot; а не работает... Есть...

Delegate
using System; // This delegate returns int and takes an int argument. delegate int...

Ошибка Delegate
Здравствуйте! Пишу бот, но мешает одна ошибка. Помогите с ней разобраться, пожалуйста Есть код:...

1
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
Помогите пожалуйста решить задачу. Создать класс Руль, Колесо, Кузов - описать данные классы...

Delegate и event
Здравствуйте, кто-нибудь может, пожалуйста, объяснить некоторые строки в этом коде?: public class...

Delegate и textbox
В классе main, есть textbox (txtLog). и еще метод addLog public void addLog(string text, string tr...


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

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

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