我創建了一個phonegap插件來爲本機代碼提供一個變量。這工作正常。現在我需要從其他類訪問這個值,所以我決定創建一個extern NSString。無法從另一個類訪問extern變量
.H
extern NSString *lkwid;
@interface MyPlugin : CDVPlugin {
}
@property (retain, nonatomic) NSString *lkwid;
-(void) setMyValue:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options;
.M
#import "MyPlugin.h"
@implementation MyPlugin
@synthesize lkwid;
NSString *lkwid = @"";
-(void) setMyValue:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options {
NSString* callbackId = [arguments objectAtIndex:1];
lkwid = callbackId;
NSLog(@"set value %@ ",lkwid);
//NSLog shows the correct value from Javascript
}
現在我想從MainViewController.m訪問lkwid
(MyPlugin.h是進口的),但lkwid是空的。爲什麼?
您確定在調用MyPlugin setMyValue:withDict之後,在您的MainViewController中使用'lkwid'嗎? – rmaddy 2013-05-02 16:58:51
注意事項 - 如果您將'NSString * lkwid = @「」;'移到'@ implementation'之外,它會更清晰。這是一個全球性的變量,與班級沒有任何關係。 – rmaddy 2013-05-02 16:59:48