将值传递给其他.m文件

时间:2010-11-21 08:08:30

标签: ios4

我正在编写一个包含2 .h和2 .m文件的程序,它应该将PageControl的值从一个传递给另一个。但我只是通过我0.不知道怎么做,所以我可以读取正确的值?

这是som示例代码:

// 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 :(得分:0)

您在subViewViewController初始化代码中的哪个位置设置了ExSubViewViewController?你确定它已经在你使用它的时候初始化了吗?

编辑:应该初始化作为ExSubViewController成员的SubViewController指针(名为subViewViewController)。除非您这样做,否则此指针变量不会神奇地设置为正确的值,或者您将其设置为IBOutlet并在Interface Builder中正确连接。

编辑2:类成员是nil-initialized,仅此而已。是的,您可以将其设置为IBOutlet并在Interface Builder中正确连接。