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

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

ただいまの
回答率

90.61%

  • Swift

    7020questions

    Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

  • Xcode

    3994questions

    Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

エラーコード Global 'var' declaration requires an expression or getter/setter specifier

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 373

NamaKori

score 65

![イメージ説明](0b502f85ac8d84e14c5ff7d81a1e3196.png)

左から数えて三つ目が投稿画面です。
イメージ説明
ViewControllerに五つのclassを用意しています。この方法は正しいでしょうか?
イメージ説明

classの画像

エラーした時

コンソール1
イメージ説明
コンソール2
イメージ説明
コンソール3
イメージ説明
コンソール4
イメージ説明

textviewの入力前のテキストフィールドに薄いグレーの文字を表示したいのですが、このコードではエラーが発生します。エラーを翻訳しましたが、イニシャライザをどうすればよいかわかりません、

コードを書くのは苦手で、どこに何を書いたらいいのか、わかりません、アドバイスお願いします。

イメージ説明

class ViewController3 {
@IBOutlet weak var TextView: UITextView!

}
var TextView: UITextView
TextView.placeholder = "ここに入力してくださいn"
TextView.borderStyle = UITextBorderStyle.RoundedRect
self.view.addSubview(TextView)

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+2

いろいろ修正したほうがよいところがありますが、、、以下のようにするとエラーはなくなります。

UITextViewには.placeholderというプロパティはありませんので使用できません。

TextViewという名前も@IBOutletで宣言したものとダブっているので名前を変更してください。

変数が初期化されていないと言うエラーは初期化すればよいです。

import UIKit

class ViewController3: UIViewController {

    @IBOutlet weak var TextView: UITextView!
    var textField = UITextField()

    override func viewDidLoad() {
        super.viewDidLoad()

        textField.placeholder = "ここに入力してくださいn"
        textField.borderStyle = UITextBorderStyle.roundedRect
        self.view.addSubview(textField)
    }
}

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/01/06 23:03

    その他もろもろはおいといて、TextViewはクラス内と外だから大丈夫ですよ。

    キャンセル

  • 2017/01/06 23:25

    外にあることも修正した方がよいと思いますよ、addSubviewしているのにグローバルに書いてあるし。

    キャンセル

  • 2017/01/06 23:52

    無条件で同じ変数名が使えないと勘違いしないでしょうか?質問者さんは初学の方だと思われますが。

    キャンセル

  • 2017/01/07 07:53

    > 質問者さんは初学の方だと思われますが。

    なので一般的な書き方(エラーのない)を記載しました。
    var TextView:UITextView?ではその部分のエラーしか解決せず、まだかなりのエラーが出ます。

    キャンセル

  • 2017/01/07 13:46

    みなさん本当にありがとうございます。
    もっと基礎を固めてから、質問をした方がいいですよね、

    キャンセル

  • 2017/01/07 13:55

    namakoriさん、今回の場合は指摘する部分以外にもエラーが多数ありましたので、、、基本的なことから頑張ってみてください。

    キャンセル

  • 2017/01/07 14:08

    http://tea-leaves.jp/swift/content/swift
    このサイトは重要なことが詳しく書かれていて、重宝しているのですが、このサイトで十分でしょうか?
    _Kentarouさんのように、ここが間違っていると気づけるようになるためには、どのようなことをすればいいのでしょうか?

    キャンセル

  • 2017/01/07 14:26

    現在はSwift3になっているのでそのサイトは古い記述がありますね、そこを分かって自分で変換して進めていけるのであれば問題ないと思います。

    Swift3で勉強するのなら以下の本が基本から載っていて、なおかつ現在はkindle版が安いのでおすすめです。
    https://www.amazon.co.jp/exec/obidos/asin/4800711487/mushikago08-22/

    キャンセル

  • 2017/01/07 14:52

    そうでしたか、自分で変換するなんて今の自分には難しいです。

    一度挫折した本が既にあるので基本をサイトの方で少し学んでから、本の方をもう一度取り組みたいと思います。

    あと、訂正をしてくださったコードを試してみて無事エラーをなくすことができました。
    しかし、ビルドをした時、Thread1.signal SIGABRT エラーで動作を確認することができませんでした。関連付けに問題があるということはわかるのですが、どこが問題なのかわかりません。



    キャンセル

  • 2017/01/07 15:02

    @IBOutlet weak var TextView: UITextView!のところだと思いますよ。

    ここにはそれしかIBOutletがないので、一度接続を切ってからつなげてください。

    キャンセル

  • 2017/01/08 02:15

    以前にも同じようなことが起きて、接続を切っても今回はうまくいきませんでした。
    再起動しても無理でした、どうすればいいですか?

    キャンセル

  • 2017/01/08 07:48

    一旦そのクラスのコードを載せてください。

    あとコンソールにエラーログがある場合それも全て載せてください。

    キャンセル

  • 2017/01/08 14:33

    class、エラー時の画像、
    コンソールに問題はないと思いますが、一応貼っときました。

    キャンセル

  • 2017/01/08 14:40 編集

    エラー内容から見るとTextFieldxの接続が正常でないみたいです。

    それとStoryboardのViewControllerのクラスをViewController3にしていますか?

    キャンセル

  • 2017/01/08 15:49

    tabBarControllerを使って五つの画面を移動できるようにしていて、左から数えて3番目なので、ViewController3と名付けたのですが、このやり方は間違っているのでしょうか?
    つまり、画面一つに対して一つずつclassを用意したわけです。
    上に貼っておきたいと思います。

    キャンセル

  • 2017/01/08 15:57

    それに関しては問題ないと思います。

    キャンセル

  • 2017/01/08 16:17

    原因が見つかりません、関連付けなどをせずに、コードで部品を呼び出す方法に切り替えようかな

    キャンセル

  • 2017/01/08 16:22

    プロジェクトが見れないのでなんともいえませんが、以下のサイトのエラーもあったようなのでチェックしてみてください。

    http://yoropipi.hatenablog.com/entry/2016/02/15/231430

    キャンセル

  • 2017/01/08 16:51

    ありがとうございます!!
    エンターを押たら、きちんと投稿画面に移動できるようになりました!

    しかし、コードの動作を確認することができませんでした。
    上でコードを書いてくださったコードの解説をお願いできますか?

    キャンセル

  • 2017/01/08 16:55

    コードの説明というか、エラーを出ないように修正しただけです。
    UITextViewでプレースホルダが使えないのでとりあえずUITextFieldにしたという流れです。

    キャンセル

  • 2017/01/08 17:58

    class ViewController3: UIViewController {

    @IBOutlet weak var TextFieldx: UITextField!
    @IBOutlet weak var TextViewx: UITextView!

    override func viewDidLoad() {
    super.viewDidLoad()
    TextFieldx.placeholder = "タイトル"

    }
    }
    このコードに書き直しをしたら動作を確認することができました!
    ありがとうございました。

    キャンセル

-3

とりあえず?か!つけちゃえば。

var TextView:UITextView?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 90.61%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    xcodeでの画面サイズ変更方法

    swiftでサンプルコードを写しているのですが、参考書を今まで放置してたのでxcodeのバージョンが違うので画面サイズ変更の方法がわからないです。 simulatorでの表示画面

  • 解決済

    iOS(swift)におけるSpeechToText(watson)の実装について

    watson-developer-cloudのiOS-sdkを使用して簡単なSpeechToTextを使用した簡単なアプリを開発しようとしてます。 mainStoryboad上の

  • 解決済

    Blender Game Engineでマテリアルを透過したい

    Blenderでゲーム開発をしようとしているものです。 Blender Renderで透過処理したマテリアルをBlender Gameに反映させたいと思っているのですが、透過でき

  • 解決済

    switでクイズアプリを作りたい!

    swiftで四択のクイズアプリを作っています。 ユーティリティーエリアからviewcontrollerを新しく取り出したのですが、その新しいviewcontrollerの中に

  • 受付中

    ER図について

    つぶやきアプリを作っているのですが、 ER図を作るとする例えばどんなものがありますか?? サンプル程度でいいので教えていただきたいです

  • 解決済

    pycharmのpython console部分の色の変更

    プログラムには関係ないんですが・・・ 長時間PCの画面を見てると目が疲れてしまうので、色を変えてみようと思って 色を変更してみたのですが、python consoleの部分の色

  • 解決済

    ViewControllerのInterfaceについて

    アプリ開発初心者です。 [目的]新たなViewControllerに機能を加えるためのファイルの場所を知る。 [現在の状況]ViewControllerを新規作成しましたが

  • 解決済

    ASUS ZenPadで、Camera2APIで、1分動画を2時間分撮影したいです。

    Nexsus 5Xでは、1分動画を、2時間ぶん、撮影することができました。 しかし、ZenPadでは、エラーが出ます。 このようなエラーが繰り返して表示されます。 参

同じタグがついた質問を見る

  • Swift

    7020questions

    Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

  • Xcode

    3994questions

    Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。