SORU
12 Temmuz 2009, Pazar


Objective-C switch deyimi içinde değişkenleri ilan edebiliyor muyum?

Sözdizimi hatası bu kod nerede olduğunu göremiyorum çünkü kör oluyorum sanırım:

if( cell == nil ) {
    titledCell = [ [ [ TitledCell alloc ] initWithFrame:CGRectZero
    	reuseIdentifier:CellIdentifier ] autorelease
    ];

    switch( cellNumber ) {
    	case 1:
    		NSString *viewDataKey = @"Name";
etc...

Derlemeye çalıştığımda, bir alıyorumHata: sözdizimi hatası before '*' tokenson satırında.

Böyle bir temel soru için özür dilerim, ama ben ne eksik?

CEVAP
12 Temmuz 2009, Pazar


Yandan Objective-C uygun bir derleyici yok, ama sürece C yapıları aynıdır:

switch { … } verirbirblok düzeyi kapsamı, case her biri için değil. Bir değişken herhangi bir kapsam başlangıcı dışında yasadışı ilan ve switch içindeözelliklebaşlatma atlamış olabilir, çünkü tehlikeli.

Aşağıdakilerden birini bu sorunu gidermek için?

NSString *viewDataKey;
switch (cellNumber) {
    case 1:
        viewDataKey = @"Name";
    …
}

switch (cellNumber) {
    case 1: {
        NSString *viewDataKey = @"Name";
        …
    }
    …
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AutoHotkey Tutorials

    AutoHotkey T

    29 Mayıs 2010
  • KliptOut KwazeeKilla

    KliptOut Kwa

    24 ŞUBAT 2010
  • L- Crysis

    L- Crysis

    30 Aralık 2011