iOS基礎面試題(四)

來源:互聯網
上載者:User

繼續總結一些面試題,以後的面試題難度會有所增加

iOS面試題系列:

iOS如何面試

iOS面試題(一)

iOS面試題(二)

iOS面試題(三)


1 談談對Block 的理解?並寫出一個使用Block執行UIVew動畫?

答案:Block是可以擷取其他函數局部變數的匿名函數,其不但方便開發,並且可以大幅提高應用的執行效率(多核心CPU可直接處理Block指令)

[UIView transitionWithView:self.view                  duration:0.2                   options:UIViewAnimationOptionTransitionFlipFromLeft                animations:^{ [[blueViewController view] removeFromSuperview]; [[self view] insertSubview:yellowViewController.view atIndex:0]; }                completion:NULL];

2 寫出上面代碼的Block的定義。

答案:

typedef void(^animations) (void);

typedef void(^completion) (BOOL finished);

3 試著使用+ beginAnimations:context:以及上述Block的定義,寫出一個可以完成

+ (void)transitionWithView:(UIView *)view duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion NS_AVAILABLE_IOS(4_0);操作的函數執行部分

答案:無

網路部分

3 做過的項目是否涉及網路訪問功能,使用什麼對象完成網路功能?

答案:ASIHTTPRequest與NSURLConnection

4 簡單介紹下NSURLConnection類及+ sendSynchronousRequest:returningResponse:error:與– initWithRequest:delegate:兩個方法的區別?

答案:  NSURLConnection主要用於網路訪問,其中+ sendSynchronousRequest:returningResponse:error:是同步訪問資料,即當前線程會阻塞,並等待request的返回的response,而– initWithRequest:delegate:使用的是非同步載入,當其完成網路訪問後,會通過delegate回到主線程,並其委託的對象。

多線程部分

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.