سؤال

وعن طريق وحدة تحكم الملاحة، وأنا دفع طريقة عرض جديدة ووضع عنوان بشكل حيوي:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
int countryIndex = [indexPath indexAtPosition: [indexPath length] - 1];
NSString *selectedCountry = [[countrysData objectAtIndex: countryIndex] objectForKey: @"title"];
scheduleState *scheduleStateViewController = [[scheduleState alloc] initWithStyle:UITableViewStyleGrouped];

[self.navigationController pushViewController:scheduleStateViewController animated:YES];    
scheduleStateViewController.title = selectedCountry;    

[scheduleStateViewController release];

وCountryData كونه مجموعة قابلة للتغيير التي تم إنشاؤها من آر أكس.

والآن عندما أذهب إلى العرض التالي، فإنه يعرض بشكل صحيح، ولكن عندما أحاول القيام NSLog داخل viewController الجديدة، تسجيل باسم (فارغة):

NSLog(@"The title is: %@", self.navigationItem.title);

و2009-10-27 11: 30: 20.416 اسم التطبيق [50289: 20B] العنوان هو: (خالية)

ولست بحاجة لاستخدام عنوان كمعلمة لاقتناص استعلام خدمة الإنترنت ...

وأي أفكار؟

هل كانت مفيدة؟

المحلول

إذا كنت تحاول تسجيل عنوان في -viewDidLoad وحدة التحكم أو شيئا من هذا القبيل، فإنه فشل لأنك وضع عنوان <م> بعد دفع تحكم الرأي. تعيين عنوان تحكم قبل أن يدفع به ويجب أن تعمل على نحو أفضل.

والسبب الآخر الوحيد الذي يمكن أن يكون لا شيء هو إذا كان المتغير selectedCountry هو لا شيء. تسجيل أن مباشرة للتأكد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top