sqlite データベースからデータを取得する LibraryDataController クラスをセットアップしました。これはその .h ファイルです。
#import <Foundation/Foundation.h>
#import <sqlite3.h>
@interface LibraryDataController : NSObject{
sqlite3 *database;
}
@property (nonatomic) NSMutableArray *masterPhotoList;
-(NSInteger)listCount;
-(NSString*)objectInListAtIndex:(NSUInteger)index;
-(void)createEditableCopyOfDatabaseIfNeeded;
-(void)initializeDefaultList;
-(void)closeDatabase;
@end
LibraryDataController メンバーを持つライブラリ ビューもあります。
#import <UIKit/UIKit.h>
@class LibraryDataController;
@interface LibraryViewController : UICollectionViewController
@property (nonatomic, strong) LibraryDataController *dataController;
@end
私の問題は、sqlite データベースからデータコントローラーに情報をロードするアプリの起動時に発生します (init 関数はこれを正常に実行します)。次に、データベースをライブラリ ビューに割り当てようとします。ライブラリ ビューはタブ バーの 2 番目のビューであり、タブ バー コントローラーはルート ビューです。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
UITabBarController *tabController = (UITabBarController *)self.window.rootViewController;
LibraryViewController *libraryView = [[tabController viewControllers] objectAtIndex:1];
LibraryDataController *aDataController = [[LibraryDataController alloc] init];
libraryView.dataController = aDataController;
return YES;
}
エラーは、libraryView.dataController = aDataController; から発生します。ライン。私の問題は何ですか?私はUICollectionViewに非常に慣れていないので、UICollectionViewに関係している可能性があると考えています。このコードは、私が UITableView で正常に使用したコードとほぼ同じであり、2 つのビューが非常に似ているという印象を受けました。ご協力いただきありがとうございます。