-2

私はiPhoneプログラミングが初めてです。このコードでは、画像をバンドルに追加した配列に画像を保存し、その画像をサムネイルに表示できます。同様に、ドキュメントディレクトリにプライベートフォルダーを作成し、そこに2つの画像を追加しましたその後、その画像を配列で取得しますが、プライベート ドキュメント ディレクトリの画像をサムネイルに表示することはできませんが、バンドル画像を表示することはできます。以下のコード 2 localImages には、バンドル画像を保存している localImages の 1 つと、もう 1 つの localImages があります。プライベートドキュメントディレクトリフォルダーの画像を保存しています。バンドル画像が表示されていますが、localImagesをバンドルすることをコメントしました。

paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
documentsDirectory = [paths objectAtIndex:0];
savedImagePath = [documentsDirectory stringByAppendingPathComponent:@"Tauky"];
     NSLog(@"%@",savedImagePath);
NSError *error = nil;
if (![[NSFileManager defaultManager] fileExistsAtPath:savedImagePath])
[[NSFileManager defaultManager] createDirectoryAtPath:savedImagePath withIntermediateDirectories:NO attributes:nil error:&error];
dirContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:savedImagePath error:&error];
localImages = [[NSArray alloc] init];

    predicate = [NSPredicate predicateWithFormat:@"self ENDSWITH '.jpeg'"];
    imagesOnly = [dirContents filteredArrayUsingPredicate:predicate];
    localImages = [NSArray arrayWithArray:imagesOnly];
    NSLog(@"%@",localImages);

self.title = @"FGallery";
self.navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent;

localCaptions = [[NSArray alloc] initWithObjects:@"images53", @"image57",nil];
//localImages =[[NSArray alloc] initWithObjects: @"lava.jpeg",@"hawaii.jpeg",nil];
    NSLog(@"%@",localImagess);

期待はコードの下にあります

- (void)reloadGallery
{
    _currentIndex = _startingIndex;
    _isThumbViewShowing = NO;

    // remove the old
    [self destroyViews];

    // build the new
    if ([_photoSource numberOfPhotosForPhotoGallery:self] > 0) {
        // create the image views for each photo
        [self buildViews];

        // create the thumbnail views
        [self buildThumbsViewPhotos];

        // start loading thumbs
        [self preloadThumbnailImages];

        // start on first image
        [self gotoImageByIndex:_currentIndex animated:NO];

        // layout
        [self layoutViews];
    }
}

コンソールでは、このように表示されます

self=(FGalleryViewController *)0x6877050
    _cmd=(SEL)0x103cf reloadgallery

私は何をすべきか非常に多くの方法を試しました.私を助けてくださいありがとう

4

1 に答える 1

2

あなたは自分のメソッドreloadGalleryに名前を付けていますが、それを次のように呼び出しているようですreloadgallery(小文字の 'g' に注意してください!)。呼び出しを変更するとreloadGallery、問題ないはずです。

于 2012-12-11T14:51:54.790 に答える