नेविगेशन ढेर निगरानी

वोट
0

किसी को भी मुझे बता सकते हैं क्यों इस तुलना मेरे ऐप फ्रीज और दुर्घटना बनाने रखता है?

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;
}
11/01/2010 को 11:56
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


3 जवाब

वोट
1

[ViewControllerArray objectAtIndex: parentViewControllerIndex] UIViewController उपवर्ग का एक उदाहरण देना चाहिए। सुनिश्चित करें कि यह (यह मानते हुए FromAddressController एक वर्ग का नाम है) यह इतना बनाने -stringValue का जवाब या:

if([[viewControllerArray objectAtIndex:parentViewControllerIndex] class] == [FromAddressController class])
11/01/2010 को 12:10
का स्रोत उपयोगकर्ता

वोट
1

जोड़ते हैं:

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

पंक्ति के बाद:

NSUInteger parentViewControllerIndex = [viewControllerArray count] - 3;

क्या मूल्य आप कंसोल में देखते हैं?

11/01/2010 को 12:00
का स्रोत उपयोगकर्ता

वोट
0

इसके अलावा, इस लाइन:

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

मेरे लिए संदिग्ध लग रहा है।

मैं जाँच की प्रलेखन और UIViewControllerवर्ग एक के लिए प्रकट नहीं होता है -stringValueविधि। तो आप शायद एक अपरिचित चयनकर्ता अपवाद मिल जाएगा और अपने आवेदन दुर्घटना होगा।

शायद आप मतलब nibNameके बजाय stringValue?

11/01/2010 को 12:04
का स्रोत उपयोगकर्ता

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