Objective c Cocoa代码-按下next按钮后,如何在一页打印1024字节的文件,在下一页打印下1024字节的文件?

Objective c Cocoa代码-按下next按钮后,如何在一页打印1024字节的文件,在下一页打印下1024字节的文件?,objective-c,macos,cocoa,Objective C,Macos,Cocoa,Cocoa代码-作为一个新手,请告诉我当我按下next按钮时,如何在一页打印1024字节的文件,在下一页打印1024字节的文件?以下是我的代码目前的样子: //要打印前1024个字节,请禁用“上一个” fileHandle= [NSFileHandle fileHandleForReadingAtPath: fileName]; string=[[NSMutableString alloc]init]; fileData= [fileHandle readDataOfLength: 1024];

Cocoa代码-作为一个新手,请告诉我当我按下next按钮时,如何在一页打印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];
}
fileHandle=[nsfilehandlefilehandleforreadingatpath:fileName];
string=[[NSMutableString alloc]init];
fileData=[fileHandle readDataOfLength:1024];
[fileData getBytes:buf长度:1024];
[fileHandle seekToFileOffset:currentOffset];
}

对于(i=0;i对
next
方法的每次调用都会将十六进制输出附加到实例变量(?)
string
。 在
next
方法中必须以空字符串开头。调用

[string setString:@""];
在下一步的开始处,或用局部变量替换实例变量

下一个
方法中

此外,正如特洛伊敌人正确评论的那样,您不应该调用

[textview setString: string];

循环中的1024次,但在循环后调用一次。< /P>重置<代码>字符串< /代码>在代码开始时的空字符串>下< /代码>方法。请告诉我如何重置字符串?如果调用“代码> SETString < /代码>一次而不是1024次,会发生什么?啊,好点。我甚至没有考虑过<代码>字符串< /代码>e一个实例变量!也告诉他有关函数的信息,以及

[NSFileHandle readDataOfLength]
不会总是读取1024字节?非常感谢!!代码现在正在运行。但是当我选择一个小于1024字节的文件时,例如154字节,它会在154字节后显示一些垃圾十六进制值。所以请告诉我如何避免这种情况。因为我已经将字符串重置为空字符串,现在当我按下“上一步”按钮时,我无法显示放置前1024个字节。因此请帮助我解决问题。@user2552735:1)
[fileData length]
给出实际读取的字节数。-2) 重新读取前1024个字节?@Martin R:是的,我想重新读取前1024个字节。请告诉我怎么做?
NSMutableString *string = [[NSMutableString alloc]init];
[textview setString: string];