Çözüldü Swift "cannot find in scope" hatası

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Tugranyayla

Hectopat
Katılım
25 Şubat 2019
Mesajlar
6
Öncelikle herkese merhaba.
Bu linkteki örneğe benzer bir örnek yaptım ama hata alıyorum.
Hata mesajı(sınıfta bulunan her özellik için aynı hatadan alıyorum.):

Kod:
error: class.playground:24:120: error: cannot find 'dogru' in scope.

 print("\(isim) ismindeki insan \(meslek)tir. \(yas) yaşındadır. Göz rengi \(renk)dir. Bool değeri her zaman \(dogru) ")

Kod:

Kod:
class ozellik {
 var yas : Int.
 var meslek: String.
 var isim: String.
 var renk: String.
 var dogru: Bool.

 init(yas: Int, meslek: String, isim: String, renk: String, dogru: Bool) {
 self.yas = yas.
 self.meslek = meslek.
 self.isim = isim.
 self.renk = renk.
 self.dogru = dogru.
 }

}

var insan1 = ozellik(yas: 31, meslek: "polis", isim: "hasan", renk: "mavi", dogru: true)

func bilgi() {
 print("\(isim) ismindeki insan \(meslek)tir. \(yas) yaşındadır. Göz rengi \(renk)dir. Bool değeri her zaman \(dogru) ")

}

insan1.bilgi()
 
Çözüm
Bilgi fonksiyonu/metodu sınıf dışında gibi duruyor. Aşağıdaki şekilde dener misiniz?
Mobilde olduğun için indentation yapamadım. Tabii bir de yazım denetimi kullanılması sebebiyle oluşan şeyleri duzeltmelisiniz. Siz ya da moderator kullanmış.

Kod:
class ozellik {
 var yas : Int.
 var meslek: String.
 var isim: String.
 var renk: String.
 var dogru: Bool.

 init(yas: Int, meslek: String, isim: String, renk: String, dogru: Bool) {
 self.yas = yas.
 self.meslek = meslek.
 self.isim = isim.
 self.renk = renk.
 self.dogru = dogru.
 }



var insan1 = ozellik(yas: 31, meslek: "polis", isim: "hasan", renk: "mavi", dogru: true)

func bilgi() {
 print("\(isim) ismindeki insan \(meslek)tir. \(yas) yaşındadır. Göz rengi \(renk)dir. Bool değeri her zaman \(dogru) ")

}
}

insan1.bilgi()
Bilgi fonksiyonu/metodu sınıf dışında gibi duruyor. Aşağıdaki şekilde dener misiniz?
Mobilde olduğun için indentation yapamadım. Tabii bir de yazım denetimi kullanılması sebebiyle oluşan şeyleri duzeltmelisiniz. Siz ya da moderator kullanmış.

Kod:
class ozellik {
 var yas : Int.
 var meslek: String.
 var isim: String.
 var renk: String.
 var dogru: Bool.

 init(yas: Int, meslek: String, isim: String, renk: String, dogru: Bool) {
 self.yas = yas.
 self.meslek = meslek.
 self.isim = isim.
 self.renk = renk.
 self.dogru = dogru.
 }



var insan1 = ozellik(yas: 31, meslek: "polis", isim: "hasan", renk: "mavi", dogru: true)

func bilgi() {
 print("\(isim) ismindeki insan \(meslek)tir. \(yas) yaşındadır. Göz rengi \(renk)dir. Bool değeri her zaman \(dogru) ")

}
}

insan1.bilgi()
 
Çözüm
Bilgi fonksiyonu/metodu sınıf dışında gibi duruyor. Aşağıdaki şekilde dener misiniz?
Mobilde olduğun için indentation yapamadım. Tabii bir de yazım denetimi kullanılması sebebiyle oluşan şeyleri duzeltmelisiniz. Siz ya da moderator kullanmış.

Kod:
class ozellik {
 var yas : Int.
 var meslek: String.
 var isim: String.
 var renk: String.
 var dogru: Bool.

 init(yas: Int, meslek: String, isim: String, renk: String, dogru: Bool) {
 self.yas = yas.
 self.meslek = meslek.
 self.isim = isim.
 self.renk = renk.
 self.dogru = dogru.
 }



var insan1 = ozellik(yas: 31, meslek: "polis", isim: "hasan", renk: "mavi", dogru: true)

func bilgi() {
 print("\(isim) ismindeki insan \(meslek)tir. \(yas) yaşındadır. Göz rengi \(renk)dir. Bool değeri her zaman \(dogru) ")

}
}

insan1.bilgi()
Yanıtınız için teşekkür ederim. Evet dediğiniz gibi fonksiyon class dışında olduğu için scope hatası almışım. Fonksiyonumu nerede çağıracağımı söyleyebilir misiniz ? Class dışında çağırdığımda hata alıyorum. Teşekkürler.

Yanıtınız için teşekkür ederim. Evet dediğiniz gibi fonksiyon class dışında olduğu için scope hatası almışım. Fonksiyonumu nerede çağıracağımı söyleyebilir misiniz ? Class dışında çağırdığımda hata alıyorum. Teşekkürler.
Tekrardan merhaba. var insan1 değişkenini class dışına aldım ve sorun çözüldü. Tekrardan teşekkürler.
 
Son düzenleme:

Yeni konular

Yeni mesajlar

Geri
Yukarı