가 여기 내 코드 Roorviewcontrller.h아이폰 이미지 갤러리 : 하나의 이미지를 여러 번
@class PhotoDataSource;
@interface RootViewController : KTThumbsViewController
{
PhotoDataSource *data_;
}
@end
Rootviewcontrollr.m 파일
@implementation RootViewController
- (void)dealloc
{
[data_ release], data_ = nil;
[super dealloc];
}
- (PhotoDataSource *)data
{
if (data_) {
return data_;
}
data_ = [[PhotoDataSource alloc] init];
return data_;
}
- (void)viewDidLoad
{
[super viewDidLoad];
[self setDataSource:[self data]];
[self setTitle:[NSString stringWithFormat:@"%i Photos", [data_ numberOfPhotos]]];
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Back", @"Back button title") style:UIBarButtonItemStylePlain target:nil action:nil];
[[self navigationItem] setBackBarButtonItem:backButton];
[backButton release];
}
.H 파일
@interface PhotoDataSource : NSObject <KTPhotoBrowserDataSource>
{
NSMutableArray *data_;
sqlite3 *UsersDB;
NSString *databasePath;
NSString *coun;
NSMutableArray *sa;
NSString *fullPathToFile;
}
@property (nonatomic, assign) NSString *coun;
@end
하는 .m 보여줍니다 파일
@implementation PhotoDataSource
- (void)dealloc
{
[data_ release], data_ = nil;
[super dealloc];
}
- (id)init
{
self = [super init];
if (self)
{
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* documentsDirectory = [paths objectAtIndex:0];
sqlite3_stmt *statement;
NSString *docsDir;
NSArray *dirPaths;
sa = [[NSMutableArray alloc] init];
dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
docsDir = [dirPaths objectAtIndex:0];
databasePath = [[NSString alloc] initWithString: [docsDir stringByAppendingPathComponent: @"Aapke.db"]];
NSLog(@"%@",databasePath);
const char *dbpath = [databasePath UTF8String];
if (sqlite3_open(dbpath, &UsersDB) == SQLITE_OK)
{
NSString *querySQL = [NSString stringWithFormat: @"SELECT ImagePath FROM AssetImage",nil];
const char *query_stmt = [querySQL UTF8String];
if (sqlite3_prepare_v2(UsersDB, query_stmt, -1, &statement, NULL) == SQLITE_OK)
{
while (sqlite3_step(statement) == SQLITE_ROW)
{
NSLog(@"select");
coun=[[NSString alloc] initWithUTF8String:(char *)sqlite3_column_text(statement, 0)];
NSLog(@"Coun = %@",coun);
fullPathToFile = [documentsDirectory stringByAppendingPathComponent:coun];
NSString *imageName1 = [NSString stringWithFormat:@"%@",fullPathToFile];
NSLog(@"fullpathfile= %@",fullPathToFile);
NSLog(@"Image Name1=%@", imageName1);
[sa addObject:fullPathToFile];
data_ = [[NSMutableArray alloc] init];
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:[UIImage imageWithContentsOfFile:imageName1], @"thumbnail", [UIImage imageWithContentsOfFile:imageName1], @"fullsize", nil];
[data_ addObject:dict];
NSLog(@"dict = %@",dict);
}
sqlite3_finalize(statement);
}
}
NSLog(@"SA=%@",sa);
}
return self;
}
- (NSInteger)numberOfPhotos
{
NSInteger count = [sa count];
[data_ count];
return count;
}
- (UIImage *)imageAtIndex:(NSInteger)index
{
NSDictionary *dict = [data_ objectAtIndex:0];
UIImage *image = [dict objectForKey:@"fullsize"];
return image;
}
- (UIImage *)thumbImageAtIndex:(NSInteger)index
{
NSDictionary *dict = [data_ objectAtIndex:0];
UIImage *image = [dict objectForKey:@"thumbnail"];
return image;
}
@end
이 코드를 실행하고 성공적으로 실행했습니다. 그러나 단일 이미지를 보여줍니다. 아이폰 SDK 경로에 여러 이미지를 저장했습니다. 모든 이미지가 표시되지 않았습니다. 나는 모든 이미지를 보여주고 싶다. 그러나이 코드는 db 경로에서 하나의 이미지 만 같은 이미지만큼 많은 이미지 만 표시합니다. 이 코드를 사용하여 모든 이미지를 표시하는 방법. 아무도 pls 덕분에 사전에 감사합니다.
제대로 작동하지 줘야 해. 여러 번에 하나의 이미지 만 표시합니다. –