私は、単語で大量の配列を作成しようとしています。最終的には、配列からランダムな単語を取り出して表示することができます(私はそれをマスターしました)。私が思っているのは、この配列を作成する最良の方法です。私はちょうどで入力する必要があります.txtファイルを使用してこの配列を作成する最も良い方法は?
[NSArray arrayWithObjects:@"word1",@"word2",@"word3",@"word4",@"word5",nil]
や単語を.txtファイルに保存されていると私はちょうどループが配列にテキストファイル内の各単語を追加することができ、より良い方法はありますか?
私は100の単語で配列を埋めることを検討しています。すべての援助は高く評価されます:D。
UPDATEは、いくつかの研究を行った後、私はこのhereを見つけました。それはまさに私が望んでいたようです。唯一のことは、私は完全なNSStringのメソッドがある知っている
それは私に推奨されていません警告「stringWithContentsOfFile」を与えている:
stringWithContentsOfFile:(NSString *) encoding:(NSStringEncoding) error:(NSError **)
しかし、私は何を置くかわかりませんエンコーディングのために(そして、私はNSErrorのために 'nil'を入れることができると仮定しています)。それ以外は魅力のように機能します。私はパスからURLに切り替えることを検討するかもしれません。ここで私が見つけたコードは次のとおりです。
- (NSArray *) readFile:(NSString *) path { NSString *file = [NSString stringWithContentsOfFile:path]; NSMutableArray *dict = [[NSMutableArray alloc] init]; NSCharacterSet *cs = [NSCharacterSet newlineCharacterSet]; NSScanner *scanner = [NSScanner scannerWithString:file]; NSString *line; while(![scanner isAtEnd]) { if([scanner scanUpToCharactersFromSet:cs intoString:&line]) { NSString *copy = [NSString stringWithString:line]; [dict addObject:copy]; } } NSArray *newArray = [[NSArray alloc] initWithArray:dict]; return newArray; }
エラーをnilまたはNULLに設定する大きな違いは何ですか? – NuGy
そしてありがとう!これは奇妙な魅力のように機能します(NSURへの道を変えるかもしれません)。しかし、ありがとう!!!!!! – NuGy
'nil'または' NULL'を使うことができます。これは主にスタイルの問題です。オブジェクト参照ではなくポインタを参照する場合は、 'NULL'を使用することをお勧めします。これは、パラメータが 'NSError *'ではなく 'NSError ** '型であることを明確にします。 – omz