swiftのクラスに値を渡す際に問題があります。オブジェクトを作成するViewControler.swiftと他のUIの種類のものがあります。ここでは、コードは次のようになります。'count'をタイプ 'ViewController'で使用することはできません
class ViewController: UIViewController {
//creates the Intractive button objects
@IBOutlet var Bag1: UIButton!
@IBOutlet var Bag2: UIButton!
@IBOutlet var Bag3: UIButton!
@IBOutlet var lblTokenSlider: UILabel!
@IBOutlet var slider: UIStepper!
@IBOutlet var Go: UIButton!
@IBOutlet var counter: UILabel!
var count = 10
var noOfBags = 3
//gives acces to game AP!
var gameAPI = GameAPI(noOfBags: count, noOfTokens: noOfBags)
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
lblTokenSlider.hidden = true
slider.hidden = true
Go.hidden = true
counter.hidden = true
Bag3.hidden = false
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// Event Drivers
@IBAction func btnBag1(sender: AnyObject) {
Bag1.userInteractionEnabled = false
Bag2.userInteractionEnabled = false
Bag3.userInteractionEnabled = false
}
@IBAction func btnBag2(sender: AnyObject) {
}
@IBAction func btnBag3(sender: AnyObject) {
}
@IBAction func SliderAction(sender: AnyObject) {
}
@IBAction func RemoveTokens(sender: AnyObject) {
}
}
}
そして、ここでは私のgameAPIです:
import Foundation
private enum MoveError: ErrorType {
case Empty
}
class GameAPI {
var noOfBags: Int
var bagArray:[Bag] = []
init(noOfBags: Int, noOfTokens : Int){
self.noOfBags = noOfBags
for _ in 0..<noOfBags {
bagArray.append(Bag(counter: noOfTokens))
}
}
/* Returns the amount of counters are in a bag */
func getCounts(i :Int) -> Int {
return bagArray[i].getCount()
}
func isBagEmpty(i: Int) -> Bool {
if (bagArray[i].getCount() <= 0){
return true
}
else {
return false
}
}
func removeCounter(bagToRemove: Int, counters: Int) throws{
do {
try self.bagArray[bagToRemove].removeCount(counters)
}
catch{
throw MoveError.Empty
}
}
}
私はViewControllerをでGameAPIを宣言し、私は "インスタンスメンバー『カウントが』タイプに使用することはできません取得する場所の問題があります「ViewControllerを」」行 var gameAPI = GameAPI(noOfBags: count, noOfTokens: noOfBags)
上 しかし、私は、変数を切り替えるようにしたと同様に固定値を使用する場合: var gameAPI = GameAPI(noOfBags: 10, noOfTokens: 3)
正常に動作します。なぜこれが動作していないのか分かりません。
はあなたに
@Hamish感謝し、私はそれらを使用していないので、私にはよく怠惰な変数の構文を知りません頻繁に。 – Sulthan
問題はありません:)変更を加えたので、私のコメントを削除しました。 – Hamish
ありがとうございました!私は静的を使用し、あなたの4番目の提案を試みましたが、 ''値の型 'NSObject - >() - > ViewController' 'メンバ' count'''がありませんでした。 – Osian