我的程序从文件中加载一些数据,然后绘制它们。
文件读取部分是这样的:
- (void)load_file
{
NSFileHandle *inFile = [NSFileHandle fileHandleForReadingAtPath:@"map_data"];
NSData *myData=[inFile readDataToEndOfFile];
NSString *myText=[[NSString alloc]initWithData:myData encoding:NSASCIIStringEncoding];
NSArray *values = [myText componentsSeparatedByString:@"\n"];
for (NSString *string in values) {
NSArray *lines=[string componentsSeparatedByString:@" "];
if ([lines count] != 2) break;
NSPoint point= NSMakePoint([lines[0] floatValue], [lines[1] floatValue]);
[points addObject:[NSValue valueWithPoint:point]];
}
[self setNeedsDisplay:YES];
}
调试时,我把数据文件放在[NSBundle mainBundle]目录下,程序运行正常。
但是,当我使用实现来取出应用程序时,它永远不会运行。我将数据文件放在与应用程序相同的路径中,但似乎无法加载它。
更新
我尝试使用 c++,但仍然失败。
- (void)load_file
{
ifstream inf("map_data");
double x, y;
while (inf >> x >> y) [points addObject:[NSValue valueWithPoint:NSMakePoint(x, y)]];
inf.close();
}
我尝试将构建方案更改为发布并运行,这很好。但是每当我直接进入应用程序的查找器并双击它时,它就不起作用并且似乎没有加载任何内容。