преобразователь температуры не выдает выходные данные

#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.