PDA

View Full Version : making backspace button on Xcode




abcdefg12345
Aug 2, 2013, 03:48 AM
im trying to make a backspace button for an xcode project but its not working

heres the code for it can anyone edit it to make it work



alexbussman
Aug 2, 2013, 04:38 AM
A quick and dirty fix to your code would look something like this:

-(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

abcdefg12345
Aug 2, 2013, 04:51 AM
A quick and dirty fix to your code would look something like this:

-(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

thanks a lot I tried it and it worked

Henley
Oct 15, 2013, 08:31 PM
A quick and dirty fix to your code would look something like this:

-(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


Hey where would you implement this is in the main file or the header file?