したがって、私のアプリの最初のビューコントローラで、文字列を含む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!";
}
}
何が間違っているのですか?何らかの理由でファイルが保存されません。