我在我的項目中有多個類。當應用程序啓動時,應用程序委託中會創建一個數據庫。我需要在另一個類中訪問這個數據庫,所以我在這個其他類中創建了一個應用程序委託的對象(稱爲Delegate)。通常情況下,打開數據庫,我會做這樣的事情在不同的類中訪問sqlite3變量
if(sqlite3_open([Delegate.databasePath UTF8String], &database) == SQLITE_OK)
然而,在這種情況下,變量數據庫是全球性的,而不是在它的父類。在這種情況下如何打開我的數據庫?我曾嘗試
if(sqlite3_open([Delegate.databasePath UTF8String], &Delegate->database) == SQLITE_OK) //error: instance variable database is protected
和
if (sqlite3_open([Delegate.databasePath UTF8String], &Delegate.database) == SQLITE_OK) //Error: Address of property expression requested
但所有這些工作。