Проблема с доступом к строке из другого класса - PullRequest
1 голос
/ 25 ноября 2010

Привет, у меня есть два контроллера представления: FirstViewController и SecondViewController

FirstViewController.h

#import <UIKit/UIKit.h>

@interface FirstViewController: {
 NSString *prStr;
  } 

 -(IBAction)setString;
 @property (nonatomic, retain) NSString *prStr;

 @end

 FirstViewController.m

 #import"FirstViewController.h"

 @implementation FirstViewController

 @synthesize prStr;

 -(IBAction)setString{
  prStr = [[NSString alloc]initWithFormat:@"1"];

   }

 SecondViewController.h

#import <UIKit/UIKit.h>

@class FirstViewController;

@interface SecondViewController: {
 FirstViewController *pr;
  } 

 -(IBAction)example;
 @property (nonatomic, retain) FirstViewController *pr;

 @end

 SecondViewController.m

 #import"SecondViewController.h"
 #import "FirstViewController.h"

 @implementation SecondViewController

 @synthesize pr;

 -(IBAction)example{
  NSLog(pr.prStr);
  if([pr.prStr isEqualToString:@"1"]==YES){

     //Do Something            }

   }

Когда я собираю и запускаю приложение, при выполнении примера IBAction на консоли отладчика ничего не появляется !! Как получить доступ к строке FirstViewController из действия SecondViewController, чтобы отобразить ее на консоли отладчика ???

Ответы [ 3 ]

1 голос
/ 25 ноября 2010

Первая проблема в том, что вы ее не распределили. Даже если вы выделите это, вы должны выделить как одноэлементный объект.

1 голос
/ 25 ноября 2010

В вашем примере вы на самом деле никогда не вызываете setString, поэтому значение на самом деле не установлено.

Кроме того, я думаю, что нецелесообразно использовать метод получения свойства напрямую как IBAction (хотя IBAction эквивалентно void)

0 голосов
/ 25 ноября 2010

U выделите память для этого объекта (pr) и попробуйте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...