-2

アプリで問題に直面しています。問題は以下で説明されています。

#import <UIKit/UIKit.h>
@interface CLASS_A : UIViewController {
    UIButton *Btn_Push;    
    UILabel *lbl_no;
}
- (IBAction)Btn_PushPressed:(id)sender;
 @property (nonatomic, retain)  UILabel *lbl_no;
@end

#import "CLASS_A.h"
@implementation CLASS_A
@synthesize pdfFilePath;

- (IBAction)Btn_PushPressed:(id)sender
{
    CLASS_B  *obj_CLASS_B= [[CLASS_B alloc] initWithNibName:@"RTC_HomeVC" bundle:nil];
    [self.navigationController pushViewController:obj_CLASS_B animated:TRUE];
}
 @end

#import <UIKit/UIKit.h>
@interface CLASS_B : UIViewController {
    UIButton *Btn_Pop;
}
- (IBAction)Btn_PopPressed:(id)sender;
@end

#import "CLASS_B.h"
@implementation CLASS_B
- (void)viewDidLoad
{
}
- (IBAction)Btn_PopPressed:(id)sender
{

    [self.navigationController popToRootViewControllerAnimated:YES];
}
@end

これは私の2つのクラスです。Btn_Push CLASS_A のクリックで CLASS_B をプッシュします。そして、CLASS_B の Btn_Pop をクリックすると、CLASS_B が CLASS_A をポップします。

これで、プッシュしてポップするたびに、lbl_no が 1 ずつ増えます。

例:

  • CLASS_A プッシュ CLASS_B lbl_no.text=@"0";

  • CLASS_B pop CLASS_A lbl_no.text=@"1";

  • CLASS_A プッシュ CLASS_B lbl_no.text=@"1";

  • CLASS_B pop CLASS_A lbl_no.text=@"2";

  • CLASS_A プッシュ CLASS_B lbl_no.text=@"2";

  • CLASS_B pop CLASS_A lbl_no.text=@"3";

  • CLASS_A プッシュ CLASS_B lbl_no.text=@"3";

  • CLASS_B pop CLASS_A lbl_no.text=@"4";

だから私の質問は

1.CLASS_A で計算操作を実行したくありません。CLASS_B では任意の計算操作を行うことができ、必須です。また、AppDelegate クラス、Singletone クラス、NSNotification、および NSUserDefaults も使用したくありません。上記で説明したように lbl_no のテキストを変更したい。

どうすればこれを行うことができますか?誰でも助けることができます。

ありがとう。

4

1 に答える 1

2

そのようなことを試してください:

クラスA

// CLASS_A.h
#import <UIKit/UIKit.h>
@interface CLASS_A : UIViewController {
    UIButton *Btn_Push;    
    UILabel *lbl_no;
}
- (IBAction)Btn_PushPressed:(id)sender;
@property (nonatomic, retain)  UILabel *lbl_no;
@end

// CLASS_A.m
#import "CLASS_A.h"
#import "CLASS_B.h"
@implementation CLASS_A
@synthesize pdfFilePath;

- (IBAction)Btn_PushPressed:(id)sender
{
    CLASS_B  *obj_CLASS_B= [[CLASS_B alloc] initWithNibName:@"RTC_HomeVC" bundle:nil];
    obj_CLASS_B.delegate = self;
    [self.navigationController pushViewController:obj_CLASS_B animated:TRUE];
}
@end

クラスB

// CLASS_B.h
#import <UIKit/UIKit.h>
@class CLASS_A;
@interface CLASS_B : UIViewController {
    UIButton *Btn_Pop;
}
@property (weak, nonatomic) CLASS_A *delegate;
- (IBAction)Btn_PopPressed:(id)sender;
@end

// CLASS_B.m
#import "CLASS_B.h"
#import "CLASS_A.h"
@implementation CLASS_B
- (void)viewDidLoad
{
}
- (IBAction)Btn_PopPressed:(id)sender
{
    self.delegate.lbl_no.text = [NSString stringWithFormat:@"%d", ([self.delegate.lbl_no.text integerValue] + 1)];
    [self.navigationController popToRootViewControllerAnimated:YES];
}
@end
于 2013-02-27T10:21:32.263 に答える