下面是我的代碼:如何訪問一個變量從一個的viewController的方法,身體其他的ViewController
SecondViewController.h:
#import <UIKit/UIKit.h>
@interface SecondViewController : UIViewController <UIImagePickerControllerDelegate, UINavigationControllerDelegate>
-(IBAction) UploadMethod:(id)sender;
@property (nonatomic) NSInteger numberOfImagesUploaded ;
@end
SecondViewController.m:
#import "SecondViewController.h"
@interface SecondViewController()
@end
@implementation SecondViewController
@synthesize numberOfImagesUploaded ;
NSInteger numberOfImagesUploaded = 1 ;
-(IBAction)UploadMethod:(id)sender {
// Upload method (not important)
numberOfImagesUploaded ++ ;
}
ThirdViewController.m :
#import "ThirdViewController.h"
#import "SecondViewController.h"
@interface ThirdViewController()
@end
@implementation ThirdViewController
- (void)viewDidLoad {
[super viewDidLoad];
SecondViewController *useSecondView = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil] ;
NSInteger number = useSecondView.numberOfImagesUploaded ;
}
我的問題是在該行
NSInteger number = useSecondView.numberOfImagesUploaded ;
雖然數量總是返回0,正如我在SecondViewController測試numberOfImagesUploaded的內容,它是一個整數,不爲零。所以,我的方法錯誤地從其他viewController獲取變量?或者我不能訪問另一個viewController方法體內的變量?
NSInteger的是一種原始的類型,所以你不需要'* number' – Fonix
嘗試的*盈讀取來自編譯器警告,它經常幫助 –
謝謝@Fonix,黃色的錯誤已經結束。但是數量的內容也是0.我在SecondViewController中測試過,它是2 ...爲什麼 –