小さなテキスト ファイルを解析する方法があります (以下のコードは簡略化されたバージョンです)。
- (void)parseFile:(NSString *)aFile
{
NSDate *date;
NSNumber *number;
NSString *desc;
NSString *txt = [NSString stringWithContentsOfFile:aFile encoding:NSUTF8StringEncoding error:nil];
for (NSString *line in [txt componentsSeparatedByString:@"\n"]) {
if ([linesubstring isEqual:@"mydate"]) {
date = [dateFormat dateFromString:strDate];
}
if ([linesubstring isEqual:@"mynumber"]) {
number = [numberFormat numberFromString:strValue];
}
if ([linesubstring isEqual:@"mydesc"]) {
desc = [line substringWithRange:NSMakeRange(0, 10)];
}
if (!date && !number && !desc) {
...do something...
}
}
}
最初の問題は、変数がパラメーターdate
の内容で満たされていることです。aFile
が最初の if/check を通過するときに、それが正しい値であると想定するだけです。
なぜ?私はそれdate
が予約語である可能性があると考えて交換しましたが、同じ動作でした。
2 番目の問題は、最後の if (ネストされたもの) にあります。コードをデバッグすると、xcode がそれを「範囲外」と表示していることがわかりますが、!number
失敗します (xcode は有効であると考えています)...
[number isNotEqualTo:[NSNull null]]
(これはエラーEXC_BAD_ACCESSをスローします)のような他の組み合わせを試しましたが、成功しませんでした。
誰かヒントを教えてください。私はcocoa/objective-cの初心者です。私はJavaから来ています...
ティア、
ボブ