私は長い間答えを探してきましたが、まだ答えが見つからないので、自分で質問すると思いました。
私の iPad アプリでは、テーブルにデータを入力するために .csv ファイルを解析する機能が必要です。http://michael.stapelberg.de/cCSVParseを使用して csv ファイルを解析しています。ただし、ローカル ファイルの解析にしか成功していません。サーバーからファイルにアクセスしようとしていますが、どこにもアクセスできません。
ローカルの .csv ファイルを解析するコードは次のとおりです。
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (buttonIndex == 1)
{
//UITextField *reply = [alertView textFieldAtIndex:buttonIndex];
NSString *fileName = input.text;
NSLog(@"fileName %@", fileName);
CSVParser *parser = [CSVParser new];
if ([fileName length] != 0)
{
NSString *pathAsString = [[NSBundle mainBundle]pathForResource:fileName ofType:@"csv"];
NSLog(@"%@", pathAsString);
if (pathAsString != nil)
{
[parser openFile:pathAsString];
NSMutableArray *csvContent = [parser parseFile];
NSLog(@"%@", csvContent);
[parser closeFile];
NSMutableArray *heading = [csvContent objectAtIndex:0];
[csvContent removeObjectAtIndex:0];
NSLog(@"%@", heading);
AppDelegate *ap = [AppDelegate sharedAppDelegate];
NSManagedObjectContext *context = [ap managedObjectContext];
NSString *currentHeader = [heading objectAtIndex:0];
NSString *currentValueInfo = [heading objectAtIndex:1];
NSManagedObject *newObject = [NSEntityDescription insertNewObjectForEntityForName:@"Field" inManagedObjectContext:context];
[newObject setValue:@"MIS" forKey:@"header"];
[newObject setValue:currentHeader forKey:@"fieldName"];
for (NSArray *current in csvContent)
{
NSManagedObject *newField = [NSEntityDescription insertNewObjectForEntityForName:@"Field" inManagedObjectContext:context];
[newField setValue:currentHeader forKey:@"header"];
[newField setValue:currentValueInfo forKey:@"valueInfo"];
NSLog(@"%@", [current objectAtIndex:0]);
[newField setValue:[current objectAtIndex:0] forKey:@"fieldName"];
[newField setValue:[NSNumber numberWithDouble:[[current objectAtIndex:1] doubleValue]] forKey:@"value"];
}
NSError *error;
if (![context save:&error])
{
NSLog(@"Couldn't save: %@", [error localizedDescription]);
}
[self storeArray];
[self.tableView reloadData];
}
}
}
input.text = nil;
}
中かっこの開始と終了の奇妙なインデントを許してください。:/
とにかく、これはユーザーから入力を受け取り、ローカルでファイルにアクセスするための私のコードです。皆さんはすでに気付いていると思います。サーバー内のファイルのパスを取得する方法を知りたいです。
また、書き方やその他の悪い習慣など、他に何か問題がある場合は、私が iOS を初めて使用するので教えてください。
よろしくお願いします!私の質問を理解していない場合は、私が自分自身を説明するのが苦手なことがあるので、明確にしてください! :)