2012-01-17 8 views
-2

iPhoneアプリケーションプロジェクトの.hファイルに2つの@interfaceを定義し、もう一方の@interfaceで定義されたNSMutableDataオブジェクトを使用したいと考えています。これは可能ですか/それをどうやって行うのですか?別の@interfaceで定義されたオブジェクトを使用する

ありがとうございます!


私のコードは次のようになります。 NSConnectionの別の代理人を追加する理由は、これが2番目の接続であるためです(最初の接続のコードは表示していません)。

@implementation SecondNSDownloadDelegate 

@synthesize responseData; 
@synthesize test; 

- (void)connection:(NSURLConnection *)connection didReceiveResponse: 
    (NSURLResponse *)response { 
NSLog(test) <-- gives null(), this is the problem. 
[self.responseDataYears setLength:0]; 
} 
@end 

@implementation ViewController 

@class ViewController; 
@class AnotherViewController; 

@synthesize responseDataYears; 
@synthesize test; 

- (void)getAvailableYears { 
NSString *test = @"test"; 
secondNSConnecterDelegate = [[SecondNSDownloadDelegate alloc] init]; 
[[NSURLConnection alloc] initWithRequest:[NSURLRequest 
    requestWithURL:[NSURL URLWithString:@"data_url"]] 
    delegate:secondNSConnecterDelegate]; 
} 

@end 
+1

を使用してデータにアクセス別のオブジェクトの値にアクセスします。ポインタを使用してそのオブジェクトを実際に参照する必要があります。 –

+0

私はあなたがこれを読んでくださいと思うhttp://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html –

答えて

3

他のインターフェイスへの参照を作成します。

@interface A 
@property (strong) NSMutableData *data; 
@end 


@interface B 
@property (strong) A *a; 
@end 

、その後、どこかBの実装では、あなたがしたい場合は

NSMutableData *data = self.a.data; 
... 

ティム

+0

クイック応答、ティムありがとう。私のためのこの種の作品 - 私はまだ1つのインターフェイスで編集し、他のインターフェイスでそれらの編集を取得することはできません。私は単純な文字列で、最初のインターフェイスでいくつかの初期値を設定し、他のインターフェイスの関数でその値を変更してみました。私はちょうどオリジナルの文字列を戻しましたが、変更はありません。 –

+0

@LatifAlamあなたの質問を編集し、何をしているかを示すコードを投稿してください。 NSStringは不変であることを忘れないでください... –

関連する問題