iOS- 問題集合-地圖-城市列表

來源:互聯網
上載者:User

3.MapView—點擊城市按鈕,本應該顯示一個可以選擇的城市列表,可是點擊城市按鈕的時候卻沒有任何反映。程式中也沒有任何警告和報錯,那麼現在要怎麼找這個問題呢?最好的辦法就是用到偵探思維的邏輯推理。好比說你生產一台手機,需要有幾十到工序(流水做線的那種),最後檢查到一台手機不合格,這就產生了問題;有了問題該怎麼辦呢,那就必須先找到問題,是什麼樣的問題導致的;找到問題解決它。關鍵就是找到問題,怎麼找到問題呢?在寫程式的時候,遇到警告和報錯的提示的時候問題是程式指出來了的(我們在寫程式的時候就要結構清楚,邏輯嚴謹,要動腦筋,儘可能在寫代碼時預Crowdsourced Security Testing道寫的代碼可能帶來的問題和限制),我只需要解決,可是沒有任何警告和報錯的時候,我們怎麼去找到問題解決它呢?本例中,我寫的是一個地圖,現在出現了如上所述的問題。我先想到的是按鈕有沒有關聯,發現有關聯;然後我就去找按鈕相應的動作,//彈出城市列表導航控制器-  (IBAction)cityAction:(id)sender {NSLog(@"cityAction = %@", self.navigationController);       [self.navigationController presentModalViewController:self.worldCitiesListNavigationController animated:YES];}在這個方法裡面,我們先要拿到self.navigationController,然後要拿到self.worldCitiesListNavigationController,最後執行presentModalViewController: animated:方法。我就去測試。。。我先去測試第二步了,我挨著把方法給列印出來,看它們執行了沒有,執行順序對不;發現都正確了。後來[940:c07] cityAction =<null>,發現是沒有拿到第一步self.navigationController。沒有初始化navigationController,navigationController沒有分配記憶體,是空的。 找到問題了。在AppDelegate.m裡面- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];     self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];    self.navigationController = [[UINavigationController alloc]initWithRootViewController:self.viewController];    [self.window addSubview:[navigationController view]];    [self.window makeKeyAndVisible];    return YES;}這樣呢,點擊城市按鈕就可以出現城市列表了  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.