1

シンプルな写真日記です。写真を選んでキャプションを追加し、一緒に保存して、ユーザーが印刷できるようにします。おそらくこれは正しいアプローチではないかもしれませんが、いくつかのガイダンスを使用できることがいくつかあります: (1) 画像とテキスト データを一緒に保存して印刷可能にする方法、(2) 複数の写真/エントリ間に改行を入力してそれらを区切る方法のキャプション、および(3)すべてのファイル識別などを繰り返さないように、画像とキャプションのキャプチャを一緒に行う方法はありますか。現在、画像は保存されていますが、保存されていませんキャプション。これらは混合型であることがわかりますが、解決策はわかりません。コーディング初心者。

- (void)viewDidLoad
{
    [super viewDidLoad];

    // User picks a photo from the their phone camera roll
    // Since iPhone simulator doesn't have photos, load and display a placeholder image
    NSString *fPath = [[NSBundle mainBundle] pathForResource:@"IMG_1588" ofType:@"jpg"];
    url = [NSURL fileURLWithPath:fPath];
    [webView loadRequest:[NSURLRequest requestWithURL:url]];

    //Save image to file
    UIImage *image = [UIImage imageWithContentsOfFile:fPath];
    NSArray *DocumentsDirectoryPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *path = [DocumentsDirectoryPath objectAtIndex:0];
    NSString *filePath = [path stringByAppendingPathComponent:@"image.jpeg"];
    NSData *data2 = [NSData dataWithData:UIImageJPEGRepresentation(image, 1.0f)];//1.0f = 100% quality
    [data2 writeToFile:filePath atomically:YES];
}

- (IBAction)Button:(id)sender {

    //Display keyboard and image caption from user
    NSString *caption = enterCaption.text;

    // Write the caption at the end of the image file
    NSArray *DocumentsDirectoryPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *path = [DocumentsDirectoryPath objectAtIndex:0];
    NSString *filePath = [path stringByAppendingPathComponent:@"image.jpeg"];
    NSFileHandle *myHandle = [NSFileHandle fileHandleForWritingAtPath:filePath];
    [myHandle seekToEndOfFile];
    [myHandle writeData:  [caption dataUsingEncoding:NSUTF8StringEncoding]];
    [myHandle closeFile];
}

    //Dismiss Keyboard
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    [textField resignFirstResponder];
    return YES;
}

if ([[NSFileManager defaultManager] fileExistsAtPath:filePath], NO)また、以下のコードのこのバージョンを動作させることもできませんでした。それにとても戸惑う。手がかりはありますか?

if ([[NSFileManager defaultManager] fileExistsAtPath:filePath], YES) {
        //Writing image to the created file
        NSFileHandle *myHandle = [NSFileHandle fileHandleForWritingAtPath:filePath];
        // move to the end of the file to add data
        [myHandle seekToEndOfFile];
        NSLog(@"caption written on existing file =%@", caption);
        [myHandle writeData:  [caption dataUsingEncoding:NSUTF8StringEncoding]];
        [myHandle closeFile];}
     else {
4

0 に答える 0