2016-05-07 12 views
-2

私はJSONを扱うための準備のために、私の最新のアプリケーションの中でたくさんの辞書を使っていますが、クラスの中にある辞書を呼び出すことはできませんが、クラスの辞書内クラスの呼び出し方法

class NUMBERS { 

    var Numbers: [String:Int] = [ 

     "One" : 1, 
     "Two" : 2, 
     "Three" : 3 

    ] 

    print("\(Numbers.count)") // error 

} 

print("\(Numbers.count)") // error 

しかし、私は以下のようなクラスの辞書外側に呼び出すとき、エラーはありません:たとえば、私はエラーを取得するクラス内部または外部のいずれか、辞書に呼び出そうとするたびに。どんな助けや助言も素晴らしいでしょう。だから可能ならば、どのようにしてクラス内の辞書を呼び出すのですか?ありがとうございました!

import UIKit 
var numbers: [String:Int] = [ 

    "One" : 1, 
    "Two" : 2, 
    "Three" : 3 

] 

NSLog("\(numbers["One"])") // no error 
+1

クラス本体にコード(マイナスプロパティ)を浮かべるだけでは、メソッド内に配置する必要はありません。また、標準的な命名規則に従って、あなたのクラスは 'Numbers'と呼ばれ、プロパティは' numbers'と呼ばれるべきです。 – Hamish

+1

メソッドとオブジェクト、スコープとクラスの環境がプロパティやオブジェクト内でどのようにやりとりするかを理解するために、OOP(オブジェクト指向プログラミング)に関する記事や書籍を読むべきだと思います。 –

答えて

1

ランダムに印刷することはできません。関数やメソッドなどの中で行う必要があります。

override func viewDidLoad() { 
    super.viewDidLoad() 
    print("\(Numbers.count)") 
} 
関連する問題