2011-07-07 9 views
-1

私はdiffirentクラスからNSMutableArrayを呼び出そうとしますが、その理由は何ですか?私はそれを呼び出すとNSMutableArrayが空です

CLASSすべての作品は、それがあるべきようなJSON array.Thisからのデータでそれを埋める

.h 
@interface Dashboard : UIViewController { 
    NSMutableArray *tablearrayCREDITS; 

} 
@property(nonatomic,retain)NSMutableArray *tablearrayCREDITS; 

.m 
@synthesize tablearrayCREDITS; 

とIM ..

クラスB

.h 
    #import "Dashboard.h" 

    @interface CreditsAndDebits : UIViewController { 


    //nothing needed here.. 

} 

.m 

@implementation CreditsAndDebits 
@synthesize selectedIndexPath; 
    NSMutableArray *thearray; 

- (void)viewDidLoad { 
    Dashboard *db = [[Dashboard alloc]init]; 
    thearray = db.tablearrayCREDITS; 
} 

//ときに私それをデバッグし、ダッシュボードを割り当てる場所にブレークポイントを設定する.. tablearrayCREDITSはオブジェクト0を言う?、私はそれを得る?私はそれを呼び出すとき、なぜそれは空になりますか?

+0

変更可能な配列をtablearrayCREDITSに割り当てるコードや、その配列に項目を追加するコードは表示されていません。 – Caleb

+0

ダッシュボードビューのオブジェクトを正しく追加すると、クラスBのビューを開く直前になります。Nslog結果:ThatArrayの数:278 – Oblieapps

+0

Bの-viewDidLoadで使用しているデータベースが新しいオブジェクトで、同じではありません以前に278個のオブジェクトを追加したDashboardインスタンス。 – Caleb

答えて

0
- (void)viewDidLoad { 

    Dashboard *db = [[Dashboard alloc]initWithNibName:@"Dashboard" bundle:nil...........]; 


    db.tablearrayCREDITS=[[NSMutableArray alloc]init]; 

    [db.tablearrayCREDITS addObject:@"madhu"]; 

    thearray = db.tablearrayCREDITS; 


//here nslog them 
} 

//you have to create Dashboard object not mutable array 
+0

私の悪い私はここに私の質問で間違ってタイプしました.. – Oblieapps

+0

問題はこれを今すぐチェックしてください –

+0

私はNSMutablearray ..にペン先をどのように初期化できますか?インテリジェンスはinitwithnibnameを表示しません。 – Oblieapps

0

それはおそらくまだが初期化されていないので、あなたが呼ん配列は空です。呼び出す前にそのビューを初期化する必要があります。これは、そのビューのinitメソッドで行うことができます。

または、アプリケーションの起動時にその配列を初期化することができます。 AppDelegateのapplication didFinishLaunchingWithOptionsでこれを行うことができます。

関連する問題