dictionaryへの登録は簡単に出来たが、それ以降の読み出しがうまくいかない。
NSNumber *number2 = [NSNumber numberWithInt:2];
NSString *startArea2 = [[NSString alloc] initWithFormat:@"pt.x > 195 || pt.x < 252 || pt.y < 45"];
NSString *goalArea2 = [[NSString alloc] initWithFormat:@"pt.x > 195 || pt.x < 252 || pt.y < 45"];
NSMutableDictionary *dict2 = [NSMutableDictionary dictionaryWithObjectsAndKeys:
number2, @"number",
startArea2, @"startArea",
goalArea2, @"goalArea", nil];
[roadArray addObject:dict2];
NSNumber *number3 = [NSNumber numberWithInt:3];
NSString *startArea3 = [[NSString alloc] initWithFormat:@"pt.x > 253 || pt.x < 286 || pt.y < 50"];
NSString *goalArea3 = [[NSString alloc] initWithFormat:@"pt.x <> 440"];
NSMutableDictionary *dict3 = [NSMutableDictionary dictionaryWithObjectsAndKeys:
number3, @"number",
startArea3, @"startArea",
goalArea3, @"goalArea", nil];
[roadArray addObject:dict3];
NSNumber *number4 = [NSNumber numberWithInt:4];
NSString *startArea4 = [[NSString alloc] initWithFormat:@"pt.x > 122 || pt.x < 154 || pt.y < 40"];
NSString *goalArea4 = [[NSString alloc] initWithFormat:@"pt.y < 460"];
NSMutableDictionary *dict4 = [NSMutableDictionary dictionaryWithObjectsAndKeys:
number4, @"number",
startArea4, @"startArea",
goalArea4, @"goalArea", nil];
[roadArray addObject:dict4];

そして実際にdictionaryの値をif文に実装するテストを行った。
まだdictionaryの値を読み出す事には成功していないので、NSString型の変数に既にdictionaryから値が読み込まれたと想定してテストをした。
NSString *startAreaaaa = [[NSString alloc] initWithFormat:@"pt.x > 224 && pt.y < 100"];
if( startAreaaaa ){
NSLog(@"通過。" );
startImageView.center = CGPointMake(pt.x, pt.y);
moveFlg = 1;
}
しかし、if文の条件式を読み込んでくれない。。。
NSLogでは「通過」と表示されるので確実にif文は通っているのだが、どうやら条件をスルーしてしまうようだ。
あらゆる対策をしてみたが、効果はなかった。
アルゴリズムを変えていく必要があるかもしれない。
明日はそのアルゴリズムの構想からしていこうと思う。
0 件のコメント:
コメントを投稿