//
聯絡人:
石虎暱稱
:嗡嘛呢叭咪哄
day 01
01-分類與繼承的區別 分類
:增加方法
,不能增加變數
.但是可以訪問類的變數 繼承
:子類繼承了父類所有的方法和變數
繼承能增加變數和方法
,分類只能增加方法
,不能增加變數.
繼承會產生乙個新的類.
分類不會產生新的類
.同名的方法
,分類裡面優先呼叫 02
-分類與類擴充套件的區別
類擴充套件:可以新增屬性宣告
,新增的方法宣告
,匿名的分類
分類不能新增屬性
,只能新增方法
day 02
//retain mrc strong arc 01
- 展開
:@property
(nonatomic
,retain
) nsarray *cars;
getter方法:
-(nsarray *)cars
setter方法:
-(void
)setcars:(nsarray *)cars }
-(void
)dealloc 02
- null
,nil
, nil
, nsnull
nil是對objective c
物件賦空值
為了避免野指標
對指標賦值乙個
nil
nil:
表示對類進行賦空值
null
:用於對非物件指標賦空值,比如c指標
nsnull
集合裡的空物件
對於像nsarray
這樣的型別,
nil或
null
不能做為加到其中的
object
,如果定義了乙個
nsarray
,為其分配了記憶體,又想設定其中的內容為空,則可以用
[nsnull null
】返回的物件來初始化
nsarray
中的內容
初始化內容為空
day 03
寫乙個**
day 04
寫乙個**
day 05
weak
和strong
的區別,
都是啥時候用?
day
07解釋
@selector
和sel
的含義和作用
@selector
對方法進行包裝
sel是乙個資料型別
.每乙個方法都有乙個
isa指標 [
self
run]
day
08程式啟動的過程 0.
main
函式入口 1.
建立物件
,建立**物件
,設定兩者的**關係 2.
開啟訊息迴圈 3.
載入plist檔案,
看裡面有沒有指定
storyboard,
如果指定了,建立
uiwindow物件.
載入storyboard檔案.
根據storyboard
裡面箭頭指向的控制器
,建立控制器物件
,並且設定成
window
的根控制器
,建立控制器的
view,
顯示到window
上並且展示出來 沒有
storyboard,
就需要在程式啟動完成以後的**函式裡面
寫**建立
widow物件,
建立控制器設定成
window
的根控制器,展示
window
day
09資料怎麼儲存
,有幾種方式
偏好設定
xml xml
檔案或者
plist檔案
nscoding
sqlite
core data
day
10對記憶體管理的理解
mrc引用計數器
alloc new (mutable)copy retain +1
relese autorelease -1
蘋果官方的記憶體管理原則:
1.誰建立或者
retain,
誰釋放
2.alloc new (mutable)copy retain ,
就會要對應乙個
relese autorelease
dealloc
物件被銷毀的之前,呼叫
arc強指標
物件有強指標指向
,就不會被釋放
弱指標迴圈引用問題
iOS面試題5 答案
1 寫乙個遞迴方法 計算n的階乘,然後將計算結果進行儲存。以便應用退出後下次啟動課直接獲取該值。double fun int n if n 0 n 1 return 1 else return n fun n 1 2 nsarray和nsmutablearray的區別,多執行緒操作哪個更安全?nsa...
iOS面試題及答案
1 設計模式是什麼?你知道哪些設計模式,並簡要敘述?設計模式是一種編碼經驗,就是用比較成熟的邏輯去處理某一種型別的事情。1 mvc模式 model view control,把模型 檢視 控制器 層進行解耦合編寫。2 mvvm模式 model view viewmodel 把模型 檢視 業務邏輯 層...
iOS 面試題總結
基礎但是重要 1,static 關鍵字至少有下列 n個作用 1 函式體內 static 變數的作用範圍為該函式體,不同於 auto 變數,該變數的記憶體只被分配一次,因此其值在下次呼叫時仍維持上次的值 2 在模組內的 static 全域性變數可以被模組內所用函式訪問,但不能被模組外其它函式訪問 3 ...