0

したがって、私のアプリの最初のビューコントローラで、文字列を含むcsvファイルを作成しようとしましたが、何らかの理由で機能しません。このコードを使用しています:

-(IBAction)initialButton:(id)sender {
    NSLog(@"initialButton clicked");


    if([securityCode.text length] == 8){

        NSString *securtityCodeData = [NSString stringWithFormat:@"%@",
                                       self.securityCode.text];
        NSString *docPath =[NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES)objectAtIndex:0];
        NSString *securityCodes=[docPath stringByAppendingPathComponent:@"securityCodes.txt"];

        if (![[NSFileManager defaultManager] fileExistsAtPath:securityCodes]){
            [[NSFileManager defaultManager]createFileAtPath:securityCodes contents:nil attributes:nil];
        }

        NSFileHandle *fileHandel = [NSFileHandle fileHandleForUpdatingAtPath:securityCodes];
        [fileHandel seekToEndOfFile];
        [fileHandel writeData:[securtityCodeData dataUsingEncoding:NSUTF8StringEncoding]];
        [fileHandel closeFile];

        NSLog(@"security code has been saved\nSecurity code:%@",securtityCodeData);


        NewTrackTraceViewController *newTrackTraceViewController = [[NewTrackTraceViewController alloc]init];

        AppDelegate *appDelegate = [UIApplication sharedApplication].delegate;
        [appDelegate.transitionController transitionToViewController:newTrackTraceViewController withOptions:UIViewAnimationOptionTransitionCrossDissolve];

        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedOnce"];
        [[NSUserDefaults standardUserDefaults] synchronize];





} else {
    [WCAlertView showAlertWithTitle:@"Security code is not valid"
                            message:@"Please enter a valid securitycode to continue."
                 customizationBlock:^(WCAlertView *alertView) {

                     alertView.style = WCAlertViewStyleVioletHatched;

                 } completionBlock:^(NSUInteger buttonIndex, WCAlertView *alertView) {

                 } cancelButtonTitle:@"Cancel" otherButtonTitles:@"Okay",nil];
}

}

次に、2番目のビューコントローラにプッシュして、csvファイルを読み取り、そのコンテンツをラベルに配置します。

- (void)viewDidLoad
{
    [super viewDidLoad];
    NSString *docPath =[NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES)objectAtIndex:0];
    NSString *securityCodes=[docPath stringByAppendingPathComponent:@"securityCodes.csv"];

    if([[NSFileManager defaultManager] fileExistsAtPath:securityCodes]){

        securityCodeLabel.text = securityCodes;
        NSFileHandle *fileHandel = [NSFileHandle fileHandleForReadingAtPath:securityCodes];
        NSString *securityCodeData=[[NSString alloc]initWithData:[fileHandel availableData] encoding:NSUTF8StringEncoding];
        [fileHandel closeFile];

        self.securityCodeLabel.text=securityCodeData;
        NSLog(@"%@",securityCodeData);
    }else{
        NSLog(@"File does not exist");
        self.securityCodeLabel.text=@"No security code found!";

    }
}

何が間違っているのですか?何らかの理由でファイルが保存されません。

4

1 に答える 1

0

NSDocumentationDirectoryはNSDocumentDirectoryである必要があります。

于 2013-01-27T20:51:50.683 に答える