iOS基础总结_用法

1、plist读写array示例

#pragma 保存数据到plist
- (IBAction)addplist:(id)sender {
    NSArray *data = @[@"aaa",@"bbb",@"ccc"];
    BOOL result = [data writeToFile:@"/Users/xc/Desktop/a.plist" atomically:YES];
    NSLog(@"保存数据到plist: %d",result);
}

#pragma 从plist读取数据
- (IBAction)getplist:(id)sender {
    NSArray *data = [NSArray arrayWithContentsOfFile:@"/Users/xc/Desktop/a.plist"];
    NSLog(@"从plist读取数据: %@",data);
}

2、@synchronized和dispatch_once

实现单例,可使用@synchronized或者dispatch_once,例如:
static id obj = nil;
+(instancetype)shareInstance
{
    @synchronized(self) {
        if (!obj) {
            obj = [[SingletonObj alloc] init];
        }
    }
    return obj;
}


static id obj = nil;
+(instancetype)shareInstance
{
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        obj = [[SingletonObj alloc] init];
    });
    return obj;
}

区别:
dispatch_once方法的性能要明显优于synchronized方法;
@synchronized采用的是递归互斥锁来实现线程安全,而dispatch_once的内部则使用了很多原子操作来替代锁,以及通过信号量来实现线程同步

3、instancetype与id

相同点:都可作为返回值
不同点:
1、instancetype 可以返回和方法所在类相同类型的对象,id只能返回未知类型的对象
2、instancetype只能作为返回值,id可以作为参数

4、依赖数据库sqlite3

libsqlite3.0.tbd、 libsqlite3tbd区别:
libsqlite3.0.tbd 只是一个快捷方式,其实也是指向libsqlite3.tbd的,如果libsqlite3.0.tbd指向的就是最新的libsqlite3.tbd,就不用更新了

5、多工程依赖 oc版

一个workspace下有多个工程,依赖方式:
1、配置Build Phases --> Link Binary With Libraries,添加其他工程依赖;
2、配置Build Setting --> Header Search Paths,双击右侧,弹出面板,鼠标拖入包含头文件的工程目录;

6、多工程依赖 swift版

一个workspace下有多个工程,依赖方式:
1、配置Build Phases --> Link Binary With Libraries,添加其他工程依赖;
2、swift文件中引入依赖工程即可,如被依赖工程为testdao,引入写法:import testdao

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 13,850评论 6 13
  • 首先感谢原创作者:Fredericshihe大家自己喜好决定,但我不敢保证将来不会出问题,但是我敢保证不会白苹果或...
    MdWhat阅读 13,564评论 0 6
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,795评论 1 32
  • 1、 沙盒概念基本介绍 iOS 应用程序只能在该 app 的文件系统中读取。这个默认的 app 文件系统就是我们说...
    Laughingg阅读 7,746评论 2 10
  • 前言 您好,简书跑者。 1.您每天在简书中发出跑步文字后,记得点赞自己,这样可以参与简书平台的简书钻,贝poc分配...
    咿唔琅琅阅读 5,570评论 5 119