0

我的 Phonegap iOS App 中有一个名为 Cargo 的本地类,它只包含一个变量lkwid以及 getter 和 setter 方法。

货物.h

@interface Cargo : CDVPlugin {
    NSString *lkwid;    
}

//@property (retain, getter=lkwid) NSString *lkwid;

-(NSString*) lkwid;
-(void)setLKW:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options;
-(void) setlkwid:(NSString *)textValue;

@end

货物.m

#import "Cargo.h"

@implementation Cargo

-(void) setLKW:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options {
    NSString* callbackId = [arguments objectAtIndex:1];
    lkwid = callbackId;
    NSLog(@"LKW übergeben %@ ",lkwid);
}

-(id)init {
    self = [super init];
    if (self != nil) {
        // initialize stuff here
    }

    return self;
}

-(void) setlkwid:(NSString *)textValue
{
    if (textValue != lkwid)
    {
        [textValue retain];
        [lkwid release];
        lkwid = textValue;
    }
}

-(NSString*) lkwid
{
    return lkwid;
}
@end

现在我想从另一个名为 MainViewController 的类中访问变量 lkwid。我已经将 Cargo.h 导入该类并在 MainViewController.h 中创建了一个对象 *car

@interface MainViewController : CDVViewController <CoreLocationControllerDelegate> {
    Cargo *car;
}

    @property (nonatomic, retain) Cargo *car;

在 MainViewController.h 中,我想从 Cargo 类访问 lkwid,但它总是返回(null)。例如。即使我将 lkwid 设置为一个值,该类也会返回 null。

[car setlkwid:@"ABC"];
NSLog(@"%@ ",[car lkwid]);

你有提示这里出了什么问题吗?

4

1 回答 1

1

你有没有初始化汽车对象。看起来你声明了它然后没有构造它,所以它为每个值返回 nil。

于 2013-05-06T14:15:31.557 回答