0

これは、可変配列を実際に保存する方法です。

[myMutableArray writeToFile:@"/Users/myUserIdentifier/Desktop/results.plist" atomically:YES]; 

配列には基本的に多くの単語が含まれており、Windows ユーザーがそれらを読み取れるようにし、単語ごとに新しい行に戻る必要があります。

すべての単語の最後にタグを追加して、ファイルを .html に保存しようとしました。

[myMutableArray writeToFile:@"/Users/myUserIdentifier/Desktop/results.html" atomically:YES]; 

実際にはファイルは読み取り可能ですが、タグが次のようにフォーマットされているのは残念です。

  <br> 

そのため、Chrome はそれを「新しい行に移動する」と理解していません。

まあ、かなりめちゃくちゃな説明ですが、このすべてを理解するために、混乱した心を持ったソウルメイトを見つけることを願っています!

4

3 に答える 3

0

NSMutableArray を配列として保存してから読み取ろうとしますが、どちらも機能しません:

 - (void)saveState
{
NSString *filePath = [[NSBundle mainBundle] pathForResource:@\"Layers\" ofType:@\"plist\"];  
NSMutableDictionary* layersDict = [[NSMutableDictionary alloc] initWithContentsOfFile:filePath];

[layersDict setValue:layers forKey:@\"Layers\"];
[layersDict writeToFile:filePath atomically: YES];
}

- (void)loadLastState;
{
NSString *filePath = [[NSBundle mainBundle] pathForResource:@\"Layers\" ofType:@\"plist\"];
NSMutableDictionary* layersDict = [[NSMutableDictionary alloc] initWithContentsOfFile:filePath];

NSArray *layersArray = [layersDict objectForKey:@\"Layers\"];

NSMutableArray *layersMutable = [[NSMutableArray alloc] initWithArray:layersArray];

[self recoverFromLayers:layersMutable];
}
于 2012-09-18T06:28:55.933 に答える
0

文字列を含む配列をファイルに書き込みたいだけですか? その場合、空想は必要ありません。例えば:

#import <Foundation/Foundation.h>

int main(int argc, char *argv[]) {
    NSAutoreleasePool *p = [[NSAutoreleasePool alloc] init];
    NSMutableArray *words = [NSMutableArray arrayWithObjects:@"fluffy",@"furball",@"scratcher",nil];
    FILE *filePointer = fopen("/Volumes/Weinberg/Users/alan/Desktop/cats.txt","w");
    [words enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
        fprintf(filePointer,"%s\n",[obj UTF8String]);
    }];
    fclose(filePointer);
    [p release];
}
于 2012-09-18T11:05:38.360 に答える
0

うーん、そうじゃない。すべて正常に動作します。保存したファイルを起動するときに、Windows ユーザーにとって結果が少し明確になるようにフォーマットしたいだけです。これまでのところ、html が最適でした。しかし、私はそれらのタグにこだわっています。すべての単語が次の行に続くテキスト ファイルを取得する別の簡単な方法があるかもしれません。

于 2012-09-18T06:34:51.730 に答える