1旁理、OC 能實(shí)現(xiàn)私有化嗎樊零?
答:方法的私有化,聲明即外漏孽文,不聲明不外漏驻襟。( .m 可以實(shí)現(xiàn)私有化。)
2芋哭、OC 中有多繼承嗎沉衣?
答:沒有直接的多繼承,可以模擬實(shí)現(xiàn)减牺。采用 協(xié)議 就可以實(shí)現(xiàn)多繼承豌习。
2、解釋類拔疚、對象肥隆、實(shí)例方法和實(shí)例成員
類:一類事物的抽象,有成員和方法稚失。
對象:類的實(shí)例化和具體化
實(shí)例方法:主要和類方法區(qū)別栋艳,類方法聲明時(shí)前面用加號,實(shí)例方法聲明時(shí)用減號
實(shí)例成員:主要和類成員區(qū)分句各,類成員加static吸占,實(shí)例成員不需要。
3诫钓、類名旬昭、方法名、成員名菌湃、函數(shù)名问拘、宏定義首字母哪些大寫,哪些小寫
大寫:類名惧所,宏定義
小寫:方法名骤坐,成員名,函數(shù)名
4下愈、@public纽绍,@protected,@private區(qū)別
@public:完全公開势似,在程序的任何地方都可以調(diào)用
@private:和@public相反拌夏,只能在該類內(nèi)部不調(diào)用
@protected:只有自己和自己的子類可以調(diào)用
5僧著、如何聲明一個(gè)帶兩個(gè)參數(shù)的實(shí)例方法和如何調(diào)用(舉例說明)
聲明:-(void)methodForParameter1:(NSString *)p1 parameter2:(NSString *)p2;
調(diào)用:[self methodForParameter1:@"" parameter2:@""];
6、@property (nonatomic, retain) Example *example;
寫出其setter和getter方法
getter
- (Example *)example { return _example; }
setter
-(void)setExample:(Example *)aExample
{
if (example != aExample)
{
[example release];
example = [aExample retain];
}
}
7障簿、static關(guān)鍵字的作用盹愚,extern關(guān)鍵字的作用
static:定義全局變量;定義類成員站故;定義內(nèi)部函數(shù)
extern:聲明外部變量和外部函數(shù)皆怕,所聲明的變量和函數(shù)可能不在本文件內(nèi)定義或?qū)崿F(xiàn)
8、解釋self
self就是實(shí)例本身西篓,在類里用self來調(diào)用自身的方法
9愈腾、什么時(shí)候使用繼承?什么時(shí)候使用類別
給一個(gè)類增加新的數(shù)據(jù)成員時(shí)用繼承
只是想擴(kuò)展類的方法或覆蓋原來的方法時(shí)用類別
10岂津、如何聲明一個(gè)類
@class Example或者
@interface Example
@end
11虱黄、寫出1-2個(gè)與動(dòng)態(tài)調(diào)用有關(guān)的方法
respondsToSelector 、performSelector寸爆、conformsToProtocol礁鲁、isKindOfClass盐欺、isMemberOfClass
12赁豆、寫一個(gè)協(xié)議(舉例),協(xié)議有什么用
@protocol ExampleProtocol <NSObject>
- (void)exampleProtocol;
@end
@interface ExampleClass : NSObject
{
id<ExampleProtocol> delegate;
}
@property (nonatomic,assign) id<ExampleProtocol> delegate;
@end
一個(gè)通過協(xié)議對外提供接口冗美。
Foundation
1魔种、存放數(shù)字用哪個(gè)類,存放CGRect用什么類型
存放數(shù)字用NSNumber
存放CGRect用NSValue
2粉洼、快速枚舉(舉例)
NSArray *array = [NSArray array];
for (id object in array)
{
[object test];
}
3节预、有哪些集合類和存放二進(jìn)制數(shù)據(jù)類
NSArray/NSMutableArray,NSDictionary/NSMutableDictionary属韧,NSSet/NSMutableSet/NSCountedSet,NSData存放二進(jìn)制數(shù)據(jù)
4安拟、文件處理用哪些類(寫1-2個(gè))
NSFileManager\NSUserDefaults open, fopen
5、解釋retain宵喂、copy糠赦、assgin、autorelease
retain锅棕,copy:計(jì)數(shù)器加一拙泽,區(qū)別是retain是原對象計(jì)數(shù)器加一,copy是創(chuàng)建一個(gè)新對象后裸燎,新對象計(jì)數(shù)器加一
assgin:簡單復(fù)制顾瞻,計(jì)數(shù)器不變
autorelease:內(nèi)存延遲釋放,計(jì)數(shù)器延遲減一
6德绿、寫出歸檔相關(guān)類
NSKeyedArchiver荷荤、NSKeyedUnarchiver
7退渗、寫出xml解析和網(wǎng)絡(luò)相關(guān)類
xml解析:NSXMLParser, kissXML GDATA
網(wǎng)絡(luò):NSConnection
8、常用的xml/json解析和http請求第三方包各寫出一個(gè)
xml:kissxml
json:SBJSon
http請求:ASIHttpRequest SDWebImage, 異步圖片加載器(界面流暢)
異步mp3 異步video
9蕴纳、代理和通知的區(qū)別
代理是垂直的氓辣,通知可以平行的
cocoa
1、寫出iphone編程中常用控件類名(不用很準(zhǔn)確袱蚓,寫出五個(gè)以上)
UILabel,UITextField,UITextView,UIButton,UISwitch, UISegmentedControl,UISlider,UIImageView ,UIScrollView,UITableView,UITabBarController,UINavigationController
2钞啸、寫出幾個(gè)常用的設(shè)計(jì)模式(兩個(gè)以上)
MVC設(shè)計(jì)模式
單例模式
代理模式
通知模式
工廠模式