Navigasyon yığın izleme

oy
0

Bu karşılaştırma benim app donma ve çökme yapmayı sürdürmesi neden kimse bana söyleyebilir misiniz?

NSArray *viewControllerArray = [controlFromMap.navigationController viewControllers];
NSUInteger parentViewControllerIndex = [viewControllerArray count] - 3 // or - whatever;
NSLog(@Parent view controller: %@, [viewControllerArray objectAtIndex:parentViewControllerIndex]);



if([[[viewControllerArray objectAtIndex:parentViewControllerIndex]stringValue] isEqualToString: @FromAddressController]){

    _mapView.showsUserLocation = NO;
}
else{

_mapView.showsUserLocation = YES;
}
Oluştur 11/01/2010 saat 11:56
kaynak kullanıcı
Diğer dillerde...                            


3 cevaplar

oy
1

[ViewControllerArray objectAtIndex: parentViewControllerIndex] UIViewController alt sınıfının bir örneğini döndürmelidir. Emin ol -stringValue yanıt ya da (FromAddressController varsayarak bir sınıf adıdır) böyle olduğu:

if([[viewControllerArray objectAtIndex:parentViewControllerIndex] class] == [FromAddressController class])
Cevap 11/01/2010 saat 12:10
kaynak kullanıcı

oy
1

Eğer eklerseniz:

NSLog(@"parentViewControllerIndex: %d", parentViewControllerIndex);

satırdan sonra:

NSUInteger parentViewControllerIndex = [viewControllerArray count] - 3;

Konsolda hangi değerleri görüyorsunuz?

Cevap 11/01/2010 saat 12:00
kaynak kullanıcı

oy
0

Ayrıca, bu hat:

if([[[viewControllerArray objectAtIndex:parentViewControllerIndex]stringValue] isEqualToString: @"FromAddressController"]){

Bana şüpheli görünüyor.

Kontrol ettim belgelere ve UIViewControllersınıf bir sahip görünmemektedir -stringValueyöntemi. Yani muhtemelen tanınmayan bir selektör istisna alacak ve uygulama çökecek.

Belki demek nibNameyerine stringValue?

Cevap 11/01/2010 saat 12:04
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more