2011-12-27 2 views
3

나는 iPhone에 내용을 쓰고있다. 나는 원자 다음 파일을 덮어 쓰지 않습니다에 YES를 통과하면 이상이 코드객관적인 C에서 텍스트 파일의 내용을 작성하는 방법 iphone

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *filePath = [[paths objectAtIndex:0]stringByAppendingPathComponent:@"data.txt"]; 
NSString *matter = [[NSString alloc] initWithString:@"Hello iPhone"]; 

[matter writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil]; 
[matter release]; 

새로운 내용이 파일을 작성하는 것을 시도하고 있지만이 코드

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *filePath = [[paths objectAtIndex:0]stringByAppendingPathComponent:@"data.txt"]; 
NSString *temp = [[NSString alloc] initWithString:@"my name is gaurav"]; 
[temp writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil]; 
[temp release]; 

을 사용했다. 그리고 거기에 No를 입력하면 파일이 덮어 쓰이지 만 프로그램도 중단되고 종료됩니다.

[matter writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil]; 
+0

또한 'NSError'를 통해 자세한 오류보고를 제공하는 방법에 문제가 있지만 오류를 확인하지 못했습니다. –

+1

문자열을 NSData로 변환해야합니다. – Pacu

답변

2

나는 시도했다. 그것은 효과가있다. 테스트 프로젝트를 만들면됩니다. viewDidLod 메소드에 다음 코드를 작성하십시오. 문서 디렉토리에서 텍스트 파일 내용을 볼 수 있습니다. 덮어 쓰기가됩니다.

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *filePath = [[paths objectAtIndex:0]stringByAppendingPathComponent:@"data.txt"]; 
    NSString *temp = [[NSString alloc] initWithString:@"my name is gaurav"]; 
    [temp writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil]; 
    [temp release]; 

    NSString *matter = [[NSString alloc] initWithString:@"Hello iPhone"]; 
    [matter writeToFile:filePath atomically:NO encoding:NSUTF8StringEncoding error:nil]; 
    [matter release]; 

} 
관련 문제