2012-05-17 110 views
0

如何從另一個類訪問ViewController屬性?
(在視圖控制器是由的XCode創建)
訪問另一個類的屬性

這是ViewController.h代碼:

#import <UIKit/UIKit.h> 
#import "AppDelegate.h" 

@interface ViewController : UIViewController{ 
    AppDelegate *appDelegate; //il delegate disponibile per tutta la classe 
    int numPag; //indice array (sulle pagine html da visualizzare) 

    NSString *path; 
    NSURL *baseURL; 

    NSString *file; 
    NSString *contentFile; 

} 


- (IBAction)sottrai:(id)sender; 

- (IBAction)aggiungi:(id)sender; 



@property (strong, nonatomic) IBOutlet UILabel *valore; 
@property (strong, nonatomic) IBOutlet UIWebView *web; 

@end 

的感謝!

[編輯]

我使用的Xcode 4.3.2和AppDelegate.m的代碼沒有找到這樣的:

self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; 

現在,我把方法didFinishLaunchingWithOptions:(進入AppDelegate.m )以下代碼:

viewController = [[UIViewController alloc] initWithNibName:@"ViewController" bundle:nil]; 

[viewController.web loadHTMLString:contentFile baseURL:baseURL]; 

在文件中添加AppDelegate.h可變的viewController:

#import <UIKit/UIKit.h> 

@interface AppDelegate : UIResponder <UIApplicationDelegate>{ 
    NSArray *pageInItalian; 
    NSArray *pageInEnglish; 
    UIViewController *viewController; 

} 

@property (strong, nonatomic) NSArray *pageInLanguage; 
@property (strong, nonatomic) UIWindow *window; 



@end 

我做得對嗎?錯誤是:住宅「網絡」的類型的對象未找到「的UIViewController *」

回答

2

我認爲這個帖子可能會回答你的問題

How can I access variables from another class?

你需要讓你的外國類變量訪問(與@property和@synthesize),然後你的外國類需要知道你的ViewController的實例

[編輯]

在你APPD elegate.m,必須有這樣一條線:

self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; 

這是您的ViewController實例化的地方。從那裏,你可以訪問你的ViewController的每個屬性。

[編輯]

您需要添加在你開始執行以下

@implementation ViewController 

@synthesize web; 
+0

我怎麼走的ViewController的實例?視圖控制器是由代碼中的XCode創建的。我可以實例化它嗎? – Antilope

+0

看看我的編輯。 –

+0

我還添加了編輯 – Antilope