ここでもXcode newbここに...私のアイテム(コードは表示されませんがリストクエリとほとんど同じです)とリスト配列を取得してデータやカウントを表示するのに問題があります。 Dbaseの実装ファイルでは配列を出力できますが、UWLAppDelegateでは何も得られません。私はここでこの問題の例を見てきましたが、問題を解決していないようです。参考までに、プレビューXcodeも使用しています。だから、いくつかのものは正しく見えないかもしれません。配列はnullです。 NSObjectからAppDelegateにプッシュする
私はここで説明するように初期化しようとしたチュートリアルました:
NSMutableArray *tempArray = [[NSMutableArray alloc] init];
self.listArray = tempArray;
...まだありませんサイコロ。
UWLAppDelegate.m
- (void)applicationDidFinishLaunching:(UIApplication *)application {
[self copyDatabase];
self.itemArray = [NSMutableArray array];
self.listArray = [NSMutableArray array];
NSLog(@"Items Array: %@",self.itemArray);
NSLog(@"List Array: %@",self.listArray);
[Dbase getDisplayData:[self getDBPath]];
[Dbase getListDisplayData:[self getDBPath]];
}
..
dbase.m
+ (void) getListDisplayData:(NSString *)dbPath {
UWLAppDelegate *appDelegate = (UWLAppDelegate *)[[UIApplication sharedApplication] delegate];
if(sqlite3_open([dbPath UTF8String], &database) == SQLITE_OK){
const char *sql = "select id, name from lists";
sqlite3_stmt *selectstmt;
if(sqlite3_prepare_v2(database, sql, -1, &selectstmt, NULL) == SQLITE_OK){
while(sqlite3_step(selectstmt) == SQLITE_ROW){
NSInteger primaryKey = sqlite3_column_int(selectstmt, 0);
Dbase *listObj = [[Dbase alloc] initWithPrimaryKey:primaryKey];
listObj.dblistname = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectstmt, 1)];
listObj.isDirty = NO;
[appDelegate.listArray addObject:listObj.dblistname];
}
//NSLog(@"%@",appDelegate.listArray);
//NSLog(@"%d", [appDelegate.listArray count]);
}
} else {
sqlite3_close(database);
}
}
ので、コメントのNSLogのは、データ私はアプリから作られたすべての6つのentires /行を掲載します。アイデア?
Objective-C appDelegate array < - いずれも助けませんでした。私は役に立たない他の同様の質問を見た。アイデア?
あなたのアプリをデバッグしましたか? –
なぜアプリケーションを使用していないのですか?didFinishLaunchingWithOptions:? (のUIApplication *)アプリケーションdidFinishLaunchingWithOptions:(NSDictionaryの*)launchOptions {} 私はそれが任意の差を作り、それはdoesntの場合、それが参照するように変更 - (BOOL)アプリケーション を: – thelaws
がよく、デフォルトでは使用します。 – xTHENKx