01-項目中常見文件
一.Xcode5和Xcode6區別
Xcode5
Frameworks文件夾:存放iOS中常見的框架
pch文件
Xcode6
沒有Frameworks,會自動導入常見的框架
沒有pch
LaunchScreen.xib: 設置項目啟動的界面
二.info.plist文件
1.Bundle name : app名稱,項目通常使用英文,app名稱顯示中文
2.Bundle identifier : app標識符 上傳AppStore和推送
3.Bundle versions string, short app版本號
三.pch文件
pch作用:
1.存放一些公用的宏
2.存放一些公用的頭文件
3.自定義Log
// ...表示宏里面的可變參數// __VA_ARGS__表示函數里面的可變參數#ifdef DEBUG // 表示當前調試階段#define XMGLog(...) NSLog(__VA_ARGS__)#else // 發布階段#define XMGLog(...)#endif
pch原理:就是把pch文件中的所有內容拷貝到所有文件的頭部
注意點: pch文件一定要注意做些判斷,判斷下當前是否是OC文件,如果是就 導入OC的代碼
所有的OC文件都會定義__OBJC__這個宏,蘋果定義
一.常識
UIApplication對象是應用程序的象征
每一個應用都有自己的UIApplication對象,而且是單例的
通過[UIApplication sharedApplication]可以獲得這個單例對象
一個iOS程序啟動后創建的第一個對象就是UIApplication對象
利用UIApplication對象,能進行一些應用級別的操作
1.應用程序圖片的提醒數字
2.聯網狀態
3.設置狀態欄
4.打開資源,電話,網頁,發短信
二.單例
1.整個應用程序只有一份內存.
2.重寫alloc方法,只分配一次.
3.提供share方法,獲取單例對象.
4.使用靜態全局變量保存單例對象.
一.常識
1.在app受到干擾時,會產生一些系統事件,這時UIApplication會通知它的delegate對象,讓delegate代理來處理這些系統事件
2.delegate可處理的事件包括:
2.1應用程序的生命周期事件(如程序啟動和關閉)
2.2系統事件(如來電)
2.3內存警告
一.首先找到程序入口,執行main函數
main -> UIApplicationMain
二.UIApplicationMain底層做事情
1.創建UIApplication對象
2.創建UIApplication的代理對象,而且給UIApplication對象代理屬性賦值
3.開啟主運行循環,作用接收事件,讓程序一直運行
4.加載info.plist,判斷下有木有指定main.storyboard,如果指定就會去加載
三.函數介紹
:
NSStringFromClass:根據一個類名生成一個類名字符串
NSClassFromString: 根據一個類名字符串生成一個類名
四.思想,為什么使用NSStringFromClass NSStringFromClass:輸入類名有提示,避免輸入錯誤
一.什么時候創建
1.加載info.plist,判斷有沒有指定main.storyboard,指定了main.storyboard,就會去加載main.storyboard,執行main.storyboard的時候創建.
二.main.storyboard步驟
2.1創建窗口
2.2加載控制器
2.3設置窗口的根控制器,顯示窗口
三.手動創建窗口
1.什么時候創建?
1.在加載info.plist文件之后,程序啟動才完成,啟動完成之后,就要顯示窗口,因此在程序啟動完成的時候創建窗口.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 窗口顯示的注意點: // 1.一定要強引用 // 2.控件要想顯示出來,必須要有尺寸 // 1.創建窗口 self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; // 2.創建根控制器,在設置窗口的根控制器 UIViewController *vc = [[UIViewController alloc] init]; // 設置窗口的根控制器,底層會自動把根控制器的view添加到窗口上,并且讓控制器的view有旋轉功能 self.window.rootViewController = vc; // 3.顯示窗口 // makeKeyAndVisible:讓窗口成為應用程序的主窗口,并且顯示窗口 [self.window makeKeyAndVisible]; return YES;}
四.窗口補充
1.應用程序中那些控件屬于窗口,1.狀態欄 2.鍵盤
2.窗口層級關系 UIWindowLevelAlert > UIWindowLevelStatusBar > UIWindowLevelNormal
設置窗口的層級,層級誰大就顯示在最外面
3.UITextField顯示鍵盤
注意點:如果一個鍵盤想要彈出來,必須把textField添加到一個控件上.
新聞熱點
疑難解答