原创 iOS-關鍵字-class superclass super

SubPerson繼承與繼承與NSObject,他們都有一個test方法下面使用SubPerson調用test方法,打印結果如下:- (void)test{    // self -> SubPerson    NSLog(@"%@ %@

原创 iOS-常見錯誤

一.報錯<一>原因:某各類沒有參與編譯可能造成的原因1.新建項目的時候沒勾選2.拷貝文件的時候沒勾選<二>解決辦法 在Build Phases裏面添加沒編譯的文件二.報錯可能出現的原因1.導入了.m文件  2.重複導入了某個文件,並且重複

原创 iOS關鍵字-copy和mutableCopy

一.copy和mutableCopy 深拷貝和淺拷貝的區別: 深拷貝就是指針和內存地址都複製了,開闢了新的內存空間 淺拷貝只複製指針 深拷貝不會影響被拷貝對象的引用計數 淺拷貝會影響被拷貝對象的引用計數 可變對象的copy和mutable

原创 iOS-關鍵字-id instancetype __kindof

一句話總結:id可以作爲參數也可以返回未知類型的對象,instancetype只可以返回和方法所在類相同類型的對象(非關聯返回類型返回方法所在類的類型),id可以作爲返回值還可以作爲參數,instancetype只能作爲返回值下面細說一、

原创 iOS-關鍵字-Const static extern

一、const與宏的區別 // 蘋果一直推薦我們使用const,而不是宏     const與宏的區別(面試題)     1.編譯時刻 宏:預編譯 const:編譯     2.編譯檢查 宏沒有編譯檢查,const有編譯檢查     3.

原创 iOS-UI-傳智猜圖

一.項目準備1.pch文件// Prefix header // // The contents of this file are implicitly included at the beginning of every sourc

原创 iOS-圖片倒影效果

一.storyboard裏面如下:二.控制器.m主要代碼如下:// ViewController.m #import "ViewController.h" @interface ViewController () @property

原创 iOS-UI進階-無限滾動

一、無限輪播 1.簡單說明  在開發中常需要對廣告或者是一些圖片進行自動的輪播,也就是所謂的無限滾動。  在開發的時候,我們通常的做法是使用一個UIScrollView,在UIScrollView上面添加多個imageView,然後設置i

原创 iOS-UI基礎-UIView的兩種動畫和UIImageView的幀動畫和資源圖片補充

一、首尾式動畫代碼示例: // beginAnimations表示此後的代碼要“參與到”動畫中 [UIView beginAnimations:nil context:nil]; //設置動畫時長 [UIView

原创 iOS-關鍵字-assign weak

一,解釋什麼時候用assgin什麼時候用weak回答:ARC之後纔有weak,weak是弱指針,當使用weak關鍵字修飾成員變量的時候,成員變量內部是用__weak修飾的,不會讓引用計數器+1,如果指向對象被銷燬,指針會自動清空,就不會報

原创 iOS程序中的內存分配 棧區 堆區 全局區(靜態區) 常量區 方法區

在計算機系統中,運行的應用程序的數據都是保存在內存中的,不同類型的數據,保存的內存區域不同。一、內存分區棧區(stack) 由編譯器自動分配並釋放,存放函數的參數值,局部變量(Char Int Float Double基本數據類型在棧裏面

原创 iOS-UI-UICollectionView自定義Layout

單純的UICollectionView有時候不能滿足我們的需求,有時候我們要自定義UICollectionViewLayout來滿足我們的需求一.下面介紹如何自定義UICollectionViewLayout實現瀑布流1.項目需要的第三方

原创 面試題

1.假如Controller太臃腫,如何優化?1.將網絡請求抽象到單獨的類中方便在基類中處理公共邏輯;方便在基類中處理緩存邏輯,以及其它一些公共邏輯;方便做對象的持久化。2.將界面的封裝抽象到專門的類中構造專門的 UIView 的子類,來

原创 iOS-靜態庫

一.庫的介紹什麼是庫?庫是程序代碼的集合,是共享程序代碼的一種方式根據源代碼的公開情況,庫可以分爲2種類型●開源庫公開源代碼,能看到具體實現比如SDWebImage、AFNetworking●閉源庫不公開源代碼,是經過編譯後的二進制文件,

原创 iOS-資源打包 內存分配instruments 私有API 獲取硬件信息

一.測試如果圖片放到image.xcassets裏面圖片放到哪裏了1.把圖片放進去2.打斷點  po NSHomeDirectory()3.前往文件夾4.bundle如下5.右鍵show in finder 發現圖片在下圖:6.將部署版本