可可代码-由于我是一个新手,请告诉我如何打印1024字节的文件在一页和下一页1024字节,当我按下下一页按钮?这就是我的代码现在的样子:
//打印前1024个字节,前一个禁用。
fileHandle= [NSFileHandle fileHandleForReadingAtPath: fileName];
string=[[NSMutableString alloc]init];
fileData= [fileHandle readDataOfLength: 1024];
[fileData getBytes: buf length: 1024];
[fileHandle seekToFileOffset: currentOffset];
}
for(i=0; i<=1023;i++)
{
[string appendFormat: @"%02hhx ", buf[i]];
//NSLog(@"Hex Values are:%x", string);
[textview setString: string];
[prevButton setEnabled: NO];
[nextButton setEnabled: YES];
}//按下一步按钮后显示下一个1024字节。
-(IBAction) next: (id) sender
{
buf[i]= 0;
[textview setString:@""];
[prevButton setEnabled: YES];
currentOffset+= 1023;
[fileHandle seekToFileOffset: currentOffset];
fileData= [fileHandle readDataOfLength: 1024];
[fileData getBytes: buf length:1024];
for(i=0; i<=1023;i++)
{
[string appendFormat:@"%02hhx ", buf[i]];
//string= [NSString stringWithFormat: @"%02hhx ", buf[i]];
NSLog(@"Next Hex Values are:%x", string);
[textview setString: string];
}
} 它显示从第0到2046个字节。所以请告诉我,当我按下next按钮时,如何从1025字节打印到2046字节。
发布于 2013-07-23 13:52:53
每次调用next方法都会将十六进制输出附加到实例变量(?) string。您必须从next方法中的空字符串开始。任一呼叫
[string setString:@""];在next的开头,或者将实例变量替换为局部变量
NSMutableString *string = [[NSMutableString alloc]init];在next方法中。
此外,正如trojanfoe正确评论的那样,您不应该调用
[textview setString: string];在for循环中调用1024次,但在循环之后调用一次。
https://stackoverflow.com/questions/17801857
复制相似问题