これを解決しようとして髪を引っ張ります。プロジェクト内の txt ファイルに数値のリストを読み書きしたいと考えています。ただし、 [string writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:&error] は、ファイルに何も書き込まないようです。パス文字列がファイルパスを返すので、それを見つけたように見えますが、ファイルに何も書き込んでいないようです。
+(void)WriteProductIdToWishList:(NSNumber*)productId {
for (NSString* s in [self GetProductsFromWishList]) {
if([s isEqualToString:[productId stringValue]]) {
//exists already
return;
}
}
NSString *string = [NSString stringWithFormat:@"%@:",productId]; // your string
NSString *path = [[NSBundle mainBundle] pathForResource:@"WishList" ofType:@"txt"];
NSError *error = nil;
[string writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:&error];
NSLog(@"%@", error.localizedFailureReason);
// path to your .txt file
// Open output file in append mode:
}
編集:パスは /var/mobile/Applications/CFC1ECEC-2A3D-457D-8BDF-639B79B13429/newAR.app/WishList.txt として表示されるため、存在します。しかし、それを読み返す:
NSString *path = [[NSBundle mainBundle] pathForResource:@"WishList" ofType:@"txt"];
空の文字列のみを返します。