Передача значения в другой файл .m - PullRequest
0 голосов
/ 21 ноября 2010

Я пишу программу, которая имеет файлы 2 .h и 2 .m, она должна передавать значение PageControl от одного к другому.Но я просто передаю мне 0. Не знаете, как это сделать, чтобы я мог прочитать правильное значение?

Вот пример кода сома:

// SubViewViewController.h
#import <UIKit/UIKit.h>
@class ExSubViewViewController;

@interface SubViewViewController : UIViewController <UIScrollViewDelegate> {
    .....
IBOutlet UIScrollView *scrollView;
IBOutlet UIPageControl *pageControl;
ExSubViewViewController *exSubViewViewController;
 }

@property (nonatomic, retain) ExSubViewViewController *exSubViewViewController; 
@property (nonatomic, retain) UIScrollView *scrollView;
@property (nonatomic, retain) UIPageControl *pageControl;
.....
@end

//  SubViewViewController.m

#import "ExSubViewViewController.h"
#import "SubViewViewController.h"

@implementation SubViewViewController;

@synthesize scrollView, pageControl, exSubViewViewController;
.....
pageControl.currentPage = page; //page is an integer
.....
@end

//  ExSubViewViewController.h

#import <UIKit/UIKit.h>
@class SubViewViewController;

@interface ExSubViewViewController : UIViewController {
SubViewViewController *subViewViewController;
}

@property (nonatomic, retain) SubViewViewController *subViewViewController;

@end


//  ExSubViewViewController.m

#import "ExSubViewViewController.h"
#import "SubViewViewController.h"

@implementation ExSubViewViewController;

@synthesize subViewViewController;
- (void)viewDidLoad { 
    int page = subViewViewController.pageControl.currentPage;

NSLog(@"Side: %d", page);
}
.....
@end

Надеюсь, этого достаточнокод или вы можете просто спросить еще раз.Я пропустил неважный код.Спасибо за помощь.

1 Ответ

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

Где вы установили subViewViewController в вашем ExSubViewViewController коде инициализации?И вы уверены, что он уже инициализирован в точке, в которой вы его используете?

Редактировать: указатель SubViewController (с именем subViewViewController), который является членом ExSubViewController, должен быть инициализирован.Эта переменная указателя не может быть магически установлена ​​на правильное значение, если вы не сделаете это, или вы сделаете его IBOutlet и подключите его соответствующим образом в Интерфейсном Разработчике.

Edit 2: члены класса равны нулюинициализировано, не более того.И да, вы можете сделать его IBOutlet и подключить его соответствующим образом в Интерфейсном Разработчике.

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