#iphone
#iPhone
Вопрос:
я написал код для преобразования температуры для iphone, но он не работает и не выдает никаких ошибок, пожалуйста, помогите
раздел интерфейса
#import <UIKit/UIKit.h>
float n ;
float k;
@interface farh_celcius_conv_AppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
UILabel *display;
IBOutlet UITextField *farhenite;
IBOutlet UIButton *convert;
}
-(IBAction) convert;
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UILabel *display;
@property (nonatomic, retain) IBOutlet UITextField *farhenite;
@property (nonatomic, retain) IBOutlet UIButton *convert;
@end
раздел реализации
#import "farh_celcius_conv_AppDelegate.h"
@implementation farh_celcius_conv_AppDelegate
@synthesize window,display,farhenite;
-(IBAction) convert {
NSString *str = [NSString text];
float n = [str floatValue];
k = (n - 32)*(5/9);
[display setText:[NSString stringWithFormat:@"%f",k]];
}
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// Override point for customization after application launch
[window makeKeyAndVisible];
}
- (void)dealloc {
[window release];
[super dealloc];
}
@end
Комментарии:
1. Пожалуйста, отформатируйте свой раздел кода так, чтобы он отображался правильно!
2. Что такое i в [NSString i];, я нигде не объявляю.
3. NSString *str = [NSString i]; Что такое ‘i’?
4. в чем проблема?????
5. @ четан Бхалара @ iphonepgr sry это не я, это текст, я сначала неправильно его напечатал
Ответ №1:
Если вы хотите преобразовать значение, введенное в текстовом поле, вам следует использовать следующий метод
-(IBAction) convert {
NSString *str = yourTextField.text; // In your case farhenite i guess
float n = [str floatValue];
k = (n - 32)*(5/9);
[display setText:[NSString stringWithFormat:@"%f",k]];
}
Комментарии:
1. @7kv7 NSString *str = yourTextField.text; что выполняет эта строка кода?
2. это для получения текста из имеющегося у вас текстового поля. В вашем случае это должно быть имя вашего текстового поля, которое, я думаю, является farhenite
3. @7kv7 теперь, если я ввожу значение в симуляторе, оно не переходит в * str, и значение n остается равным 0
4. @ 7kv7 если я отключаю str в симуляторе iphone, он отображает (null)
5. nslog ваше текстовое поле.текстовое значение.
Ответ №2:
если вы хотите конвертировать из текстового поля, тогда оно должно быть
NSString *str = textField.text;
Ответ №3:
Замените вашу функцию на приведенную ниже функцию. Тогда все будет работать нормально.
-(IBAction) преобразовать {
NSString *str = display.text;
float n = [str floatValue];
k = (n - 32)*(5/9);
[display setText:[NSString stringWithFormat:@"%f",k]];
}
Ответ №4:
Если вы хотите преобразовать значение из текстового поля farhenite, то оно должно быть
-(IBAction) convert {
NSString *str = farhenite.text;
float n = [str floatValue];
k = (n - 32)*(5/9);
[display setText:[NSString stringWithFormat:@"%f",k]];
}
Комментарии:
1. @ iphone pgr теперь, если я ввожу значение в симуляторе, оно не переходит в * str, и значение n остается равным 0
2. @ iphonepgr да, я подключил iboutlet
Ответ №5:
NSString *str = display.text;
Просто замените объявление str.