2018 iOS知識點復習與總結

又臨近過年,不管是準備即將找工作,還是這一年的工作總結。我認為都有必要把之前摘錄收藏的知識點進行逐條復習、記憶與拓展。

Objective-C Basics
  1. 請說明并比較以下關鍵詞:strong,weak,assign,copy
  2. 請說明并比較以下關鍵詞:__weak,__block
  3. 請說明并比較以下關鍵詞:atomatic, nonatomic
  4. 什么是ARC?
  5. 什么情況下會出現循環引用?
  6. 下面代碼中有什么bug?
* - (void)viewDidLoad {
*   UILabel *alertLabel = [[UILabel alloc] initWithFrame:CGRectMake(100,100,100,100)];
*   alertLabel.text = @"Wait 4 seconds...";
*   [self.view addSubview:alertLabel];
* 
*   NSOperationQueue *backgroundQueue = [[NSOperationQueue alloc] init];
*   [backgroundQueue addOperationWithBlock:^{
*     [NSThread sleepUntilDate:[NSDate dateWithTimeIntervalSinceNow:4]];
*     alertLabel.text = @"Ready to go!”
*   }];
* }
  1. 以scheduledTimerWithTimeInterval的方式觸發的timer,在滑動頁面上的列表時,timer會暫停,為什么?該如何解決?
Swift Basics
  1. 類(class)和結構體(struct)有什么區別?
  2. Swift 是面向對象還是函數式的編程語言?
  3. 請說明并比較以下關鍵詞:Open, Public, Internal, File-private, Private
  4. 請說明并比較以下關鍵詞:strong, weak, unowned
  5. 用 Swift 實現或(||)操作
  6. 實現一個函數。求一個整型二維數組中所有元素之和
Swift vs. Objective-C
  1. 說說Swift為什么將String,Array,Dictionary設計成值類型?
  2. 在Swift和Objective-C的混編項目中,如何在Swift文件中調用Objective-C文件中已經定義的方法?如何在Objective-C文件中調用Swift文件中定義的方法?
  3. 用Swift 將協議(protocol)中的部分方法設計成可選(optional),該怎樣實現?
  4. 要給一個UIButton增加一個點擊后抖動的效果,該怎樣實現?
  5. 試比較Swift和Objective-C中的初始化方法(init)有什么異同?
  6. 談談對Objective-C和Swift 動態特性的理解

原文

工程師必看的 20 道 iOS 面試題

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容