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

Objective-C

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

Не получается присвоить переменной значение в методе IBAction - Objective-C

06.03.2015, 19:32. Просмотров 755. Ответов 0
Метки нет (Все метки)

Добрый день. Если кто может - помогите, пожалуйста !
У меня есть два класса:
Objective-C
1
ViewController, ViewController2
В первом классе по нажатию кнопки Button переменной string нужно присвоить значение "any_string". Я это делаю следующим образом:
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//ViewController.h
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
 
 
@interface ViewController : UIViewController   
@property (strong,nonatomic) NSString* string;
 
//ViewController.m
#import "ViewController.h"
@interface ViewController ()
 
@end
 
@implementation ViewController
@synthesize string;
 
 
- (void)viewDidLoad
{
    [super viewDidLoad];
 
 
}
 
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
 
}
 
 
- (IBAction)GoToViewController2:(id)sender {
 
    ViewController2 *view2 = [[ViewController2 alloc] init];
 
    [self presentViewController:view2 animated:YES completion:nil];
 
 
- (IBAction)Button:(id)sender {
 
    [self returnString];
}
-(NSString*)returnString
{
    string = @"any_string";
    return string;
}
@end
в следующем классе я создаю объект класса ViewController.
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
25
26
27
28
29
30
#import "ViewController2.h"
 
@interface ViewController2 ()
 
@end
 
@implementation ViewController2
 
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}
 
- (void)viewDidLoad
{
    [super viewDidLoad];
 
    ViewController *viewController=[[ViewController alloc] init];
    NSString *newString = [viewController returnString];        
}  
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
@end
Когда я ставлю breakpoint, то все получается: у меня объект newString со значением "any_string".
Но если я делаю этот следующим образом:
Objective-C
1
NSString* newString = viewController.string; // newString is nil
тогда newString оказывается пустой строкой. Может кто знает, как мне сделать так, чтобы при нажатии кнопки в первом классе, во вотором были сохранены свойства??????

Добавлено через 22 часа 14 минут
Совсем никто не может подсказать (((((

Добавлено через 1 час 25 минут
у меня получилось, извините, за беспокойство
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2015, 19:32     Не получается присвоить переменной значение в методе IBAction
Посмотрите здесь:

Objective-C UTF-8, не получается вывести иероглифы на экран
Objective-C Разница между @property и объявлением переменной в классе хедера
Objective-C Как получить доступ к изменению переменной из другого класса?
Objective-C Как присвоить из строки значение float/double к переменной?
Не получается связать два объекта Objective-C
Передача переменной между контроллерами Objective-C
Objective-C Сохранение и считывание переменной
Objective-C Как из одного метода обратиться к переменной другого?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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