appDelegate には 2 種類の var があります: int と NSMutableArray です。viewController で int var にアクセスできますが、NSMutableArray にはアクセスできません。
コードは次のとおりです。
appDelegate.h
#import <UIKit/UIKit.h>
@interface AppDelegate : UIResponder <UIApplicationDelegate,NINetworkImageViewDelegate,FBSessionDelegate, FBDialogDelegate>
{
UIWindow *window;
UINavigationController *navController;
int nbNewsNonLues;
NSMutableArray *tableauNews;
}
@property (strong, nonatomic) NSMutableArray *tableauNews;
@property (nonatomic) int nbNewsNonLues;
@end
これらの変数はAppDelegate.mで適切に初期化されています(チェック済み)
次に、ViewController.m のこのコードでそれらにアクセスしようとします
@synthesize appDelegate = _appDelegate;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSLog(@"%@", appDelegate.tableauNews);
NSLog(@"%d", appDelegate.nbNewsNonLues);
NSLog(@"%@", appDelegate);
}
return self;
}
ログが返されます
2012-07-23 02:58:21.475 Aviso_0.1[2990:11303] (ヌル)
2012-07-23 02:58:25.432 Aviso_0.1[2990:11303] 2
2012-07-23 02:58:25.432 Aviso_0.1[2990:11303]
つまり、tableauNews にはアクセスできませんが、nbNewsNonlues にアクセスして変更することはできますか??
私はこれが初心者の問題であることを知っていますが、私は何時間も読んでグーグルで検索しました。委任について見逃したものがあるに違いありません
助けが必要、