我創造了這樣的一個ios7單:iOS的單viewDidLoad中的空和viewDidAppear不
SharedData.h
@interface SharedData : NSObject
{
}
+ (id)sharedInstance;
@property (strong, nonatomic) NSMutableArray *list;
@end
SharedData.m
#import "SharedData.h"
@implementation SharedData
@synthesize list;
// Get the shared instance thread safe
+ (SharedData *)sharedInstance {
static dispatch_once_t once = 0;
static SharedData *sharedInstance = nil;
dispatch_once(&once, ^{
sharedInstance = [[self alloc] init];
});
return sharedInstance;
}
- (id)init {
self = [super init];
if (self) {
//initialize
list = [[NSMutableArray alloc] init];
}
return self;
}
@end
我總是使用此代碼訪問此課程:
SharedData *sharedData = [SharedData sharedInstance];
現在的問題是,當我切換viewDidLoad方法中的視圖列表是空的,但在我的viewDidAppear方法一切都很好。有任何想法嗎?
編輯: 這是我的代碼是如何變化的看法:
SharedData *sharedData = [SharedData sharedInstance];
//clear feed and add new feed
[sharedData.list removeAllObjects];
[sharedData.list addObjectsFromArray:newList];
//show new gui
[self.navigationController performSegueWithIdentifier:@"goToMain" sender:self];
注:我從一個普通視圖控制器推到一個TabBarController - > NavigationController - > TableViewController顯示列表。
我用代碼編輯了問題。我用segue執行開關。我應該在哪裏放置[self.tableView reloadData]? viewDidAppear已經太晚了。這給了一個醜陋的過渡 – perotom
嗯......它似乎是正確的,你可以在這裏發佈您的prepareForSegue代碼? 在執行'performSegueWithIdentifier'之前,您是否檢查過單身人員列表是否正確加載? – gabuh
我不使用performSegueWithIdentifier方法。這是一個故事板賽車模式和翻轉。是的,檢查它。它是正確的。感謝您的幫助! – perotom