質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

Q&A

1回答

1461閲覧

エラー

Rintaro

総合スコア13

Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

0グッド

0クリップ

投稿2016/01/15 23:06

編集2022/01/12 10:55

「ViewController.m」
#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

  • (void)viewDidLoad{
    [super viewDidLoad];
    labelBmiTitle.hidden=YES;
    labelBmiText.hidden=YES;
    labelBmiValue.hidden=YES;

}
-(BOOL)textFieldShouldReturn:(UITextField*)textField
{

[textField resignFirstResponder]; return YES; }
  • (IBAction)

{
float height = [tfHeight.text floatValue] / 100;
float weight = [tfWeight.text floatValue];
float bmiValue = weight / (height*height);

labelBmiValue.text = [[NSString alloc] initWithFormat:@"%.2f", bmiValue]; if(bmiValue < 17.6){ labelBmiText.text = @"痩せすぎです"; }else if(bmiVelue < 19.8){ labelBmiText = @"痩せ気味です"; }else if(bmiValue < 24.2){ labelBmiText = @"標準的な体重です"; }else if(bmiValue < 26.4){ labelBmiText.text = @"太り気味です"; }else { labelBmiText.text = @"肥満気味です"; } labelBmiTitle.hiddeo = NO; labelBmiText.hiddeo = NO; labelBmiValue.hidden = NO;

}

「ViewController」
#import <UIKit/UIKit.h>

@interface ViewController : UIViewController {
IBOutlet UITextField *tfHeight;
IBOutlet UITextField *tfWeight;
IBOutlet UIButton *btnCalc;
IBOutlet UILabel *labelBmiTitle;
IBOutlet UILabel *labelBmiValue;
IBOutlet UILabel *labelBmiText;

}

@end

ViewController

二箇所エラーが出ているのですが、よくわかりません。
原因と、解決策を教えてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TakeOne

2016/01/16 00:36

こちらの質問が他のユーザから「質問の範囲が広すぎる」という評価を受けています わからない点を明確にし、調査したこと・試したことと共に記入していただくと、回答が得られやすくなります。
izkn

2016/01/16 01:30

こちらの質問が他のユーザから「質問の範囲が広すぎる」という評価を受けています わからない点を明確にし、調査したこと・試したことと共に記入していただくと、回答が得られやすくなります。
退会済みユーザー

退会済みユーザー

2016/01/16 07:52

こちらの質問が他のユーザから「質問の範囲が広すぎる」という評価を受けています わからない点を明確にし、調査したこと・試したことと共に記入していただくと、回答が得られやすくなります。
guest

回答1

0

1個目のエラーは、画像を見る限り問題なさそうに見えますが、全角の空白や不正な空白記号がどこかに入っていてエラーを起こしているのかもしれません。
エラー原因がわからない場合は、まずそのエラーメッセージをそのままgoogleで検索してみることをお勧めします。それでもわからなくて質問する際は、画像を貼り付けるだけではなく、エラーとなったソースコードをテキストとして貼り付けて質問することをお勧めします。その際、ViewController.mだけでなく、ViewController.hも一緒に貼り付けた方がよいです。

現状の質問の仕方だと、画像の見た目しか検証できないので、不正な文字が入っているかどうかよくわかりません。また、画像を添付しただけでエラーメッセージ等のキーワードがテキストとして書かれてないと、同じような問題に遭遇した人がこの質問を検索して見つけることができません。
エラーメッセージやソースコードをテキストとして貼り付け、質問のタイトルも適切なものにして質問すれば、回答者も問題の把握や検証がしやすくなり、マイナス評価が減り、回答がつきやすくなるはずです。

あと、画像のソースコードのコメント中に本名のようなものが入っていますが、大丈夫ですか?
知っててやっているなら別にそれでもかまわないですが、知らずに自分の本名を晒しているなら、
画像は削除して、やはりテキストでソースコードを貼り付けた方がよいです。

2個目のエラーは、
- (IBAction)の後にメソッド名が必要なのに、それすらないので話になりません。
たぶん、StoryboardでGUI部品を接続してメソッドを作成した後、誤ってそのメソッド名を削除してしまったのだと思います。

投稿2016/01/16 00:36

編集2016/01/16 00:45
TakeOne

総合スコア6299

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Rintaro

2016/01/16 01:40

ご指摘ありがとうございます。改善しましたので、解析よろしくお願いします。
TakeOne

2016/01/16 07:36

まず、質問内でソースコードを貼り付ける方法や文を修飾する方法を理解されていないようなので、 https://teratail.com/help の「Markdownの機能を知りたい」を読んでください。 ここに書かれているように、バッククォート記号(`)を3個並べた行でテキスト(ソースコード)を挟めば、その部分はソースコードと認識され、見やすい形で表示されます。 この操作は質問文を記入する画面の上方のツールバーを使っても同じことができます。貼り付けたソースコード全体を選択してツールバーの「</>」ボタンをクリックすればよいです。 逆に何も修飾しないでソースコードを貼り付けると、現在の質問文のように行頭の「#」文字は見出し記号と認識され「#include」の「#」文字が消えたり、「-」は箇条書きの行頭記号と認識され「- (void)」が「・(void)」と表示されたりするので、元のソースコードがうまく表示されません。 ソースコードが正しく表示されるよう再編集されたら、そのソースコードをコビペして、こちらの環境でもビルドエラーになるかどうか試してみてもよいですが、たぶんこちらの環境では1個目のエラーは発生しない可能性が高いので、そんな回答を待つよりも以下のようなことを試してみることをお勧めします。 ・[Editor]-[Show Invisibles]を選択して空白を目に見える形にし、おかしな記号が入っていないか確認する。 ・1個目のエラーはとりあえず置いといて、先に2個目のエラーを修正してビルドしてみる。 ・一旦[Product]-[Clean]を実行してから、ビルドし直してみる。 ・viewDidLoadとtextFileldShouldReturnのメソッドを一旦削除してビルドし、エラーが出ない状態から改めてソースコードを打ち直してみる。 あと、質問のタイトルも、何を質問したいのかちゃんと書いた方がよいと思いますよ。 どんなタイトルを書けばよいかピンとこないなら、 「回答のつきやすい質問を投稿するための心がけ」 https://teratail.com/blog/article/ba10 も読んでください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問