2016-05-19 4 views
-2
import UIKit 

class ViewController: UIViewController { 


@IBOutlet weak var userGuessTextField: UITextField! 

@IBOutlet var resultLabel: UIView! 


@IBAction func Guess(sender: AnyObject) { 

    let diceRoll = String(arc4random_uniform(6)) 

    if diceRoll == userGuessTextField.text 
    { 
     resultLabel.text = "You are right" 
    } 
    else 
    { 
     resultLabel.text = "You are " 
    } 

} 

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

誰か助けてもらえますか?なぜ私はiOSの初心者であり、この言語を学んでいるので、このエラーが発生しています。タイプの値UIviewにはメンバーテキストがありません

+3

あなたの 'resultLabel'は' UILabel'ではなく 'UIView'です...これはUIViewにメンバ' text'がないのでうまくいきません...あなたは 'UILabel'を使う必要があります –

+0

' resultLabel 'アウトレットは' UIView'または 'UILabel'に接続されていますか? .. '.text'の作業をするために' UILabel'に接続する必要があります。 – Laffen

+0

さて、あなたが 'resultLabel.image = [UIImage imageNamed:@" dummy.png "];'を書くと、UIViewにはメンバイメージがないタイプの値を得ます。 ' – TheTiger

答えて

2

あなたは@IBOutlet var resultLabel: UIView!のように口を設定している...

@IBOutlet var resultLabel: UILabel! 
+2

コードの変更だけでなく変更ストーリーボードでも行う必要があります.... –

+0

コンセントは右に接続されています!そう、葦? – Rahul

+0

UIViewのコンセントが接続されました???あなたはストーリーボードにラベルが必要です...コードが変化しても動作しません –

2

@IBOutlet var resultLabel: UIView! 

を変更してくださいあなたのresultLabelオブジェクトがUIViewであり、それが財産を持っていないので、それは、UIViewのタイプであるtext

のコンセントを取るべきだと思いますUIViewの代わりに3210。

インターフェイスビルダーでラベルをドラッグします(ctrl +ドラッグする(アシ​​スタントエディタ))。コンセント名を付けます。これはApple documentsから:)

0

を助ける

ホープ:

UIViewクラスは、画面上の矩形領域を定義し、その領域内のコンテンツを管理するためのインターフェース。

...より洗練されたコンテンツは、UIViewをサブクラス化し、必要な描画とイベント処理コードを自分で実装することで表示できます。 UIKitフレームワークには、シンプルなボタンから複雑なテーブルまでの一連の標準サブクラスも含まれており、そのまま使用できます。たとえば、UILabelオブジェクトは、テキスト文字列を描画し、オブジェクトはUIImageViewオブジェクトを描画します。

ストーリーボード/ XIB(UIViewを削除し、新しいUILabelをドラッグします)から、コードの変化からresultLabelを削除します。

から:

@IBOutlet var resultLabel: UIView!

@IBOutlet var resultLabel: UILabel! 

へその後、新しいUILabelをコード上のIBOutletに接続します。

関連する問題