A quick and dirty fix to your code would look something like this:
Code:
-(IBAction)Back:(id)sender {
NSString *backspace = [conv_display stringValue];
float lengthofstring = backspace.length;
if (lengthofstring == 0)
return;
backspace = [backspace substringToIndex:lengthofstring - 1];
[conv_display setStringValue:backspace];
}
Reason is that you were thinking you got a NSString in the first line, but you were actually getting a NSTextField.
You would have found this easily if you used the actual class names instead of id for your IBOutlets.
It's always a good idea to avoid id unless you really have a good reason to use it.
Hope this helps you to continue
// Alex