어떻게하면 NSArray에 줄 단위로 나누어 진 txt 파일의 내용을로드 할 수 있습니까? 기본적으로, 나는 요소의 수를 쓰는 "count.txt"파일을 가지고있다. 첫 번째 줄의 제목을 나타내는 "1t.txt"와 내용을 나타내는 "1.txt"가있다. 값으로 값을 더하는 것입니다.NSArray에서 txt 파일을로드하는 방법은 무엇입니까?
: 사용자가 테이블 뷰의 제목을 칠 때 그런 다음 나는 그가 "* .txt 인"의 내용을 읽고 싶어 지금(I 배열 파일의 인덱스가 있다면 분명히 쉬운) 나는이 코드를 사용
- (void) loadMainArray
{
for (int i = 1; i <= max; i++)
{
NSString *currentNumber;
currentNumber = [NSString stringWithFormat:@"%it", i];
NSLog(@"%i° file read", i);
NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *dataFilePath = [[NSBundle mainBundle] pathForResource:currentNumber ofType:@"txt"];
if ([fileManager fileExistsAtPath:dataFilePath])
{
NSString *content = [NSString stringWithContentsOfFile:dataFilePath encoding:NSUTF8StringEncoding error:nil];
NSArray *parsed = [content componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];
mainArray = (__bridge NSMutableArray*)CFPropertyListCreateDeepCopy(kCFAllocatorDefault, (CFPropertyListRef)parsed, kCFPropertyListMutableContainers);
NSLog(@"%@", parsed);
}
else{
}
}
}
(코드가 잘 정렬되어 있지 않지만 너무 많은 stackoverflow에서 사용할 수 없다면 죄송합니다.) 어쨌든 ViewLoad에서이 메서드를 호출하면 Signal SIGABRT가 잘못 표시됩니다.
N.B : 최대 값도 설정되어 있습니다. NSLog에서 확인했습니다. mainArray는 NSMutableArray입니다. 당신이 원하는 무엇
실수로'[[NSString stringWithContentsOfFile : file] componentsSeparatedByString : @ "\ n"]'을 원하지 않습니까? –
그것은 나에게 두 가지 경고를 준다 : 호환되지 않는 포인터 초기화 중 ... stringWithContentsOfFile은 더 이상 사용되지 않는다 .. – user1714647
@userXXX 1. 다음과 같이 1.이 문서에서 비공식 버전의이 메소드를 찾는다. 2. 배열 변수를 대신 배열로 선언한다. 다른 것의. –