iOS 每天問(wèn)題解惑(二)

目錄:
1.為什么開(kāi)發(fā)中不建議用int 和 double 
2.OC中枚舉的定義
3.strong,weak,assign,copy關(guān)鍵字
4.OC中類(lèi)方法和實(shí)例方法的區(qū)別
5.成員變量和屬性的區(qū)別
6.[cell addSubview:]和 [cell.contentView addSubview:]方法的區(qū)別
7.服務(wù)器返回json數(shù)據(jù)和OC比對(duì)
8.開(kāi)發(fā)者賬號(hào)分類(lèi)
9.Core Foundation 和 Foundation 橋接注意事項(xiàng)
10. KVC簡(jiǎn)要底層原理
11.到底什么是多態(tài)
12.UIScrollView—ContentSize/contentOffest/contentInsert
13.LLDB調(diào)試按鈕
14.
15.
16.
Pragma Mark — NO.1 為什么開(kāi)發(fā)中不建議用int 和 double
#開(kāi)發(fā)中不建議用int 和 double 類(lèi)型的數(shù)據(jù),主要是考慮到版本適配的問(wèn)題
1.在5s之前是32位操作系統(tǒng)一铅,之后是64位
2.所以蘋(píng)果推薦用NSInteger 和 NSUInteger
NSInteger.png

用NSInteger 和 NSUInteger 不用考慮適配問(wèn)題

Pragma Mark — NO.2 OC中枚舉的定義
枚舉的標(biāo)準(zhǔn)寫(xiě)法.png
Pragma Mark — NO.3 strong,weak,assign,copy關(guān)鍵字
  • 題目:
題目.png
strong,weak.png

而assign不會(huì)自動(dòng)置為nil

Pragma Mark — NO.4 OC中類(lèi)方法和實(shí)例方法的區(qū)別
1.屬于誰(shuí)
類(lèi)方法屬于類(lèi)對(duì)象 [NSString stringWithFormart]
實(shí)例方法屬于實(shí)例對(duì)象 [str length]

2.誰(shuí)調(diào)用
類(lèi)方法 類(lèi)對(duì)象調(diào)用
實(shí)例方法 實(shí)例對(duì)象調(diào)用

3.self 是什么
在類(lèi)方法里  self表示的是類(lèi)對(duì)象
在實(shí)例方法里 self表示是實(shí)例對(duì)象

4.是否可以訪問(wèn)成員變量
類(lèi)方法里 不可以訪問(wèn)成員變量
實(shí)例方法里 可以訪問(wèn)成員變量

5.方法調(diào)用
在類(lèi)方法里 可以調(diào)用實(shí)例方法也可以調(diào)用類(lèi)方法
在實(shí)例方法里 可以調(diào)用實(shí)例方法也可以調(diào)用類(lèi)方法

Pragma Mark — NO.5 成員變量和屬性的區(qū)別
#首先知道一個(gè)類(lèi)是由固有屬性和方法去描述其特點(diǎn)和行為方式的
(例如:車(chē)描述是什么樣的車(chē)皇帮,這輛車(chē)的用途是什么等等)
#1.背景:
在OC最初創(chuàng)建時(shí),是沒(méi)有屬性的概念的羽戒,是在2.0以后接入的勺远,屬性是為成員變量服務(wù)的

#2.為什么會(huì)出現(xiàn)屬性:
因?yàn)樘O(píng)果一直致力于簡(jiǎn)化程序員的編碼工作吞彤,所以當(dāng)類(lèi)中成員變量過(guò)多的時(shí)候,
我們就會(huì)發(fā)現(xiàn)給成員變量寫(xiě)getter和setter方法是比較麻煩的曹动,所以有了屬性的出現(xiàn)

#3.屬性做了什么:
屬性自動(dòng)添加了setter和getter方法斋日,并且自動(dòng)生成了一個(gè)成員變量(前提是沒(méi)有對(duì)應(yīng)的成員變量)

#4. @synthesize的作用
給屬性自動(dòng)生成的_xxx 重新命名 
例如: 
@interface ViewController ()
@property (nonatomic , copy) NSString *name;
@end
@implementation ViewController
//給相應(yīng)地成員變量改名
@synthesize name = myName;
- (void)viewDidLoad {
    [super viewDidLoad];
 myName = @"屬性創(chuàng)建時(shí)自動(dòng)生成了一個(gè)成員變量";
    NSLog(@"%@",myName);
}

#5. 在@protocol 和 category 中如何使用 @property
 可以使用



Pragma Mark — NO.6 [cell addSubview:]和 [cell.contentView addSubview:]方法的區(qū)別

cell 添加子控件方法的區(qū)別

Pragma Mark — NO.7 服務(wù)器返回json數(shù)據(jù)和OC比對(duì)
JSON                           OC
大括號(hào){}                   NSDictionary
中括號(hào)[]                   NSArray
雙引號(hào)””                  NSString
數(shù)字                         NSNumber
Pragma Mark — NO.8 開(kāi)發(fā)者賬號(hào)分類(lèi)
#個(gè)人的 99$
  申請(qǐng)簡(jiǎn)單,付錢(qián)就好墓陈, 688¥
#企業(yè)的 99$
  申請(qǐng)復(fù)雜恶守,需要”鄧白氏”認(rèn)證,可以確認(rèn)企業(yè)是合法有效的
  可以管理團(tuán)隊(duì)開(kāi)發(fā)
#商業(yè)的 299$
 也需要鄧白氏認(rèn)證贡必,開(kāi)發(fā)的應(yīng)用不能上架兔港,(不通過(guò)蘋(píng)果審核)專(zhuān)給企業(yè)級(jí)用戶(hù)定制應(yīng)用

Pragma Mark — NO.9 Core Foundation 和 Foundation 橋接注意事項(xiàng)
1.有幾種橋接方式—三種
1.1  CF 轉(zhuǎn)化為 Foundation — 這種方法只是讓Foundation框架暫時(shí)使用 CF 框架對(duì)象,所以需要釋放內(nèi)存仔拟, 注意2里面
CFStringRef firstName = ABRecordCopyValue(person, kABPersonFirstNameProperty);
   NSString *firstNameStr = (__bridge NSString *)(firstName);

1.2 CF 轉(zhuǎn)化為 Foundation — CF 框架移交對(duì)象的管理權(quán)給Foundation框架衫樊,不用管內(nèi)存問(wèn)題
 NSString *Label = (__bridge_transfer NSString *)ABMultiValueCopyLabelAtIndex(phoneNumbers, i);
# CFBridgingRelease 等價(jià)于 (__bridge_transfer type)

1.3 Foundation 轉(zhuǎn)化為 CF —  了解,不怎么用
 (__bridge_retained CF type)expression)

2.注意內(nèi)存釋放
CFRelease(phoneNumbers);
Pragma Mark — NO.10 KVC簡(jiǎn)要底層原理
# setValue:forKey方法--底層機(jī)制
1.程序優(yōu)先會(huì)考慮調(diào)用:setName:屬性(set方法)代碼通過(guò)setter方法完成設(shè)置
2.如果該類(lèi)沒(méi)有setter方法,KVC會(huì)搜索該類(lèi)名為_(kāi)name的成員變量,無(wú)論該成員變量是在類(lèi)接口部分還是實(shí)現(xiàn)部分定義,也無(wú)論是采用哪個(gè)訪問(wèn)控制符修飾科侈,這條KVC代碼底層實(shí)際是對(duì)這個(gè)_name的成員變量賦值
3.如果以上兩個(gè)都沒(méi)有载佳,那么KVC會(huì)搜索該類(lèi)名為name的成員變量,底層實(shí)際就是對(duì)這個(gè)name成員變量賦值
4.如果以上都沒(méi)找到臀栈,會(huì)調(diào)用setValue:forUndefinedKey:方法

#valueforKey方法
1.同上蔫慧,只是調(diào)用的是getter方法的返回值
2.同上
3.同上
4.同上

Pragma Mark — NO.11 到底什么是多態(tài)
Objective-C 指針類(lèi)型的變量有兩個(gè):一個(gè)是編譯時(shí)的類(lèi)型,一個(gè)是運(yùn)行時(shí)的類(lèi)型
編譯時(shí)的類(lèi)型由聲明該變量時(shí)使用的類(lèi)型決定的
運(yùn)行時(shí)的類(lèi)型由實(shí)際賦給該變量的對(duì)象決定
如果編譯時(shí)類(lèi)型和運(yùn)行時(shí)類(lèi)型不一致权薯,就可能出現(xiàn)所謂的多態(tài)

Pragma Mark — NO.12 UIScrollView—ContentSize/contentOffest/contentInsert
Snip20170217_18.png
Pragma Mark — NO.13 LLDB調(diào)試按鈕
Snip20170220_1.png
Pragma Mark — NO.14
Pragma Mark — NO.15
Pragma Mark — NO.16
Pragma Mark — NO.17
Pragma Mark — NO.18
Pragma Mark — NO.19
Pragma Mark — NO.20
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末姑躲,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子盟蚣,更是在濱河造成了極大的恐慌黍析,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,273評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件屎开,死亡現(xiàn)場(chǎng)離奇詭異阐枣,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)牍戚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén)侮繁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)虑粥,“玉大人如孝,你說(shuō)我怎么就攤上這事∶浯” “怎么了第晰?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,709評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)彬祖。 經(jīng)常有香客問(wèn)我茁瘦,道長(zhǎng),這世上最難降的妖魔是什么储笑? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,520評(píng)論 1 296
  • 正文 為了忘掉前任甜熔,我火速辦了婚禮,結(jié)果婚禮上突倍,老公的妹妹穿的比我還像新娘腔稀。我一直安慰自己,他們只是感情好羽历,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布焊虏。 她就那樣靜靜地躺著,像睡著了一般秕磷。 火紅的嫁衣襯著肌膚如雪诵闭。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,158評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音疏尿,去河邊找鬼瘟芝。 笑死,一個(gè)胖子當(dāng)著我的面吹牛褥琐,可吹牛的內(nèi)容都是我干的模狭。 我是一名探鬼主播,決...
    沈念sama閱讀 40,755評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼踩衩,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼嚼鹉!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起驱富,我...
    開(kāi)封第一講書(shū)人閱讀 39,660評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤锚赤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后褐鸥,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體线脚,經(jīng)...
    沈念sama閱讀 46,203評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評(píng)論 3 340
  • 正文 我和宋清朗相戀三年叫榕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了浑侥。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,427評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡晰绎,死狀恐怖寓落,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情荞下,我是刑警寧澤伶选,帶...
    沈念sama閱讀 36,122評(píng)論 5 349
  • 正文 年R本政府宣布,位于F島的核電站尖昏,受9級(jí)特大地震影響仰税,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜抽诉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評(píng)論 3 333
  • 文/蒙蒙 一陨簇、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧迹淌,春花似錦河绽、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,272評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至句携,卻和暖如春榔幸,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工削咆, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留牍疏,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,808評(píng)論 3 376
  • 正文 我出身青樓拨齐,卻偏偏與公主長(zhǎng)得像鳞陨,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子瞻惋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 概述在iOS開(kāi)發(fā)中UITableView可以說(shuō)是使用最廣泛的控件厦滤,我們平時(shí)使用的軟件中到處都可以看到它的影子,類(lèi)似...
    liudhkk閱讀 9,064評(píng)論 3 38
  • *面試心聲:其實(shí)這些題本人都沒(méi)怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個(gè)offer,總結(jié)起來(lái)就是把...
    Dove_iOS閱讀 27,160評(píng)論 30 470
  • 1.badgeVaule氣泡提示 2.git終端命令方法> pwd查看全部 >cd>ls >之后桌面找到文件夾內(nèi)容...
    i得深刻方得S閱讀 4,670評(píng)論 1 9
  • 37.cocoa內(nèi)存管理規(guī)則 1)當(dāng)你使用new歼狼,alloc或copy方法創(chuàng)建一個(gè)對(duì)象時(shí)掏导,該對(duì)象的保留計(jì)數(shù)器值為1...
    如風(fēng)家的秘密閱讀 854評(píng)論 0 4
  • 如之前說(shuō)到的一樣梅屉。 那日見(jiàn)面后的大半年時(shí)間我們都沒(méi)有再見(jiàn)彼此值纱。 這期間,我們只能?chē)L試著“網(wǎng)戀+異地”這個(gè)鬼滋味坯汤。 ...
    采薇人閱讀 275評(píng)論 0 0