iOS編程讀書筆記之Objective-C
對(duì)象
-
使用對(duì)象
- 創(chuàng)建對(duì)象
Party *partyInstance = [[Party alloc]init]
這種將兩個(gè)消息合在一行代碼中的做法稱為嵌套消息發(fā)送(nested message send).程序會(huì)先執(zhí)行最里面那個(gè)方括號(hào)的代碼,所以Party類會(huì)先收到alloc消息.接著,alloc方法會(huì)返回指向新創(chuàng)建對(duì)象的指針.最后,未初始化的對(duì)象會(huì)收到init消息,返回初始化后的對(duì)象指針,并將指針保存在變量中.
- 發(fā)送消息
消息發(fā)送語法的組成結(jié)構(gòu),首先消息必須寫在一對(duì)方括號(hào)中.方括號(hào)中的消息包含如下三部分.
接收方(receiver) 指針,指向執(zhí)行方法的對(duì)象
選擇器(selector) 需要執(zhí)行方法的方法名
實(shí)參(arguments) 以變量形式傳給方法的數(shù)值
以Party類為例,向Party對(duì)象發(fā)送addAttendee:消息,可以添加參加聚會(huì)的客人:
[partyInstance addAttendee:somePerson];
向partyInstance(接收方)發(fā)送addAttendee:消息會(huì)觸發(fā)addAttendee:方法(取決于選擇器),并傳入somePerson(實(shí)參).
//創(chuàng)建一個(gè)NSMutableArray對(duì)象
NSMutableArray *items = [[NSMutableArray alloc]init];
//向items所指向的NSMutableArray對(duì)象發(fā)送addObject:消息
[items addObject:@"zero"];
[items addObject:@"one"];
[items addObject:@"two"];
[items addObject:@"three"];
for (int i = 0; i < items.count; i++) {
NSLog(@"%@",items[i]);
}
- 格式化字符串
程序在處理格式字符串時(shí),如果遇到%@,則不會(huì)將其直接替換為相應(yīng)位置的實(shí)參.程序會(huì)先向相應(yīng)位置的實(shí)參發(fā)送description消息,得到description方法所返回的NSString對(duì)象,然后使用得到的Nsstring對(duì)象替換%@.
創(chuàng)建一個(gè)Person類,在.m文件里重寫description方法
- (NSString *)description {
return [NSString stringWithFormat:@"%@",@"小龍"];
}
當(dāng)我們NSLog的時(shí)候就會(huì)打印小龍
Person *person = [[Person alloc]init];
NSLog(@"%@",person);
在后面我們字典轉(zhuǎn)模型的時(shí)候重寫會(huì)** description**方法,打印模型中的數(shù)據(jù)