0

Phonegap iOS アプリに Cargo という名前のネイティブ クラスがあり、変数lkwidとゲッター メソッドとセッター メソッドだけが含まれています。

貨物.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 をそのクラスにインポートし、オブジェクト *car を MainViewController.h に作成しました。

@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 に答える