Day-01
第一节:Xcode
-Xcode 熟悉
1> Xcode 文件的熟悉
2>LaunchScreen设置的了解
3>PCH 文件的了解
第二节:info.plist
-Info.plist文件以及可视化界面的设置
1>Bundle name 产品名((PRODUCT_BUNDLE_IDENTIFIER)自动设置)、Bundle versions string, short 版本号。
版本号获取:
1>方式一
*//1**、获取文件路径*
NSString*filePath = [[NSBundlemainBundle] pathForResource:@"Info.plist"ofType:**nil**];
*//2**、解析字典*
NSDictionary*infoDict = [NSDictionarydictionaryWithContentsOfFile:filePath];
*//3**、获取版本号*
NSString*versionStr = infoDict[@"CFBundleShortVersionString"];
*//4**、打印获取版本*
NSLog(@"versionStr %@",versionStr);
2>方式二
NSString*subVersionStr = [NSBundlemainBundle].infoDictionary[@"CFBundleShortVersionString"];
*//4**、打印获取版本*
NSLog(@"subVersionStr %@",subVersionStr);
第三节:PCH
l 创建PCH文件
注意点:
1>命名以工程名
2> 设置 Precompile Prefix Header(是否预编译) 为yes
3> 配置Prefix Header(文件路径)
4> 提前编译
[图片上传失败...(image-893378-1559385346335)]
图3-01
[图片上传失败...(image-b6b962-1559385346335)]
图3-02
l PCH文件原理
1>pch文件内容被项目中的所有文件共有。
l PCH文件作用
1>存放一些公用宏
2>存放公用头文件
3>自定义Log(输出日志)
4>判断语言
² 第四节:UIApplication
l UIApplication
1> UIApplication了解
2> 单例了解、模仿UIApplication写个单例
import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interfacePerson : NSObject
+(instancetype)sharePerson;
@end
NS_ASSUME_NONNULL_END
import "Person.h"
@implementationPerson
staticPerson*_instance = nil;
+(void)load{
_instance= [[**self**alloc] init];
}
+(instancetype)sharePerson{
**return**_instance;
}
+(instancetype)alloc{
**if**(_instance) {
NSException*exception = [NSExceptionexceptionWithName:@"抛异常"reason:@"模仿苹果抛异常!"userInfo:**nil**];
[exception raise];
}
**return**[**super**alloc];
}
@end
3> NSException抛异常
NSException*exception = [NSExceptionexceptionWithName:@"抛异常"reason:@"模仿苹果抛异常!"userInfo:**nil**];
[exception raise];
l UIApplication作用
UIApplication*app = [UIApplicationsharedApplication];
*//1**、打电话*
[app openURL:[NSURLURLWithString:@"tel://10086"]];
*//2**、发短信*
[app openURL:[NSURLURLWithString:@"sms://10086"]];
*//3**、发邮件*
[app openURL:[NSURLURLWithString:@"mailto://xx@sina.com"]];
*//3**、打开网页*
[app openURL:[NSURLURLWithString:@"http://ios.com"]];
*//4**、设置联网提示*
app.networkActivityIndicatorVisible= **YES**;
*//5**、设置状态栏**状态栏默认控制器来管理** -(BOOL)prefersStatusBarHidden{return YES;} **设置应用程序管理需要在**info.plist**设置**View controller-based status bar appearancew**为**NO*
app.statusBarHidden= NO;
l UIApplication代理
第五节:应用程序生命周期
//程序加载完毕
- (BOOL)application:(UIApplication)application didFinishLaunchingWithOptions:(NSDictionary)launchOptions {return****YES;}
//程序失去焦点
- (void)applicationWillResignActive:(UIApplication*)application {}
//程序进入后台
- (void)applicationDidEnterBackground:(UIApplication*)application {}
//程序c从后台进入前台
- (void)applicationWillEnterForeground:(UIApplication*)application {}
//程序获取焦点
- (void)applicationDidBecomeActive:(UIApplication*)application {}
//程序即将退出
- (void)applicationWillTerminate:(UIApplication*)application {}
//程序内存警告,可能要终止
-(void)applicationDidReceiveMemoryWarning:(UIApplication*)application{}