上一页 1 2 3 4 5 6 7 8 9 10 ··· 15 下一页
摘要: 1、换的图片用一个新的名字、不要用之前的名字 2、将图片放在项目目录下、不要放在Assets.xcassets 里 阅读全文
posted @ 2020-05-16 15:28 ZhangShengjie 阅读(524) 评论(0) 推荐(0) 编辑
摘要: 第一步你需要一个注册一个谷歌开发者账号 地址 https://console.cloud.google.com/ 创建一个凭据 3、启用 如下两个 API 4、Google 集成文档 https://developers.google.com/maps/documentation/ios-sdk/i 阅读全文
posted @ 2020-03-31 18:21 ZhangShengjie 阅读(664) 评论(0) 推荐(0) 编辑
摘要: 方法一 使用代理软件 (推荐) 使用 ClashX Pro (一款代理软件) 设置里面有一个增强模式把它打开 增强模式可以让一些软件默认走代理入(Telegram) 当然也能在克隆代码的时候默认走代理 方法二 给终端添加代理 (缺点 终端重启后代理会失效、需要重新执行命令) 首先需要一个梯子、保证能 阅读全文
posted @ 2020-03-07 17:08 ZhangShengjie 阅读(1928) 评论(0) 推荐(0) 编辑
摘要: 特点:不同的东西进行组合、做完一件事 还能继续做另一件事 1、以实现计算器为例 @interface JiSuanQiManger : NSObject @property (nonatomic,assign) NSInteger rsult; -(JiSuanQiManger *)jiSuan:( 阅读全文
posted @ 2020-03-01 16:42 ZhangShengjie 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 例子 新建一个父类、一个子类 Person SubPerson 在子类中打印 #import "SubPerson.h" #import <objc/message.h> @implementation SubPerson -(void)test{ NSLog(@"%@",[self class]) 阅读全文
posted @ 2020-03-01 14:29 ZhangShengjie 阅读(509) 评论(0) 推荐(0) 编辑
摘要: 例子 实现一个计算器 #import "CalcuteManger.h" @implementation CalcuteManger -(CalcuteManger *(^)(NSInteger))add{ return ^(NSInteger num){ _result+=num; return 阅读全文
posted @ 2020-03-01 13:35 ZhangShengjie 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 变量捕获会在blcok结构体内部生成一个变量已来存储捕获到的指针或者值 #import "Person.h" @implementation Person /* oc每个函数后面都自带 (Person * self, SEL _cmd) -(void)test:(Person * self, SEL 阅读全文
posted @ 2020-02-16 23:21 ZhangShengjie 阅读(607) 评论(0) 推荐(0) 编辑
摘要: 1、编写测试代码 并将其转换成c++代码 查看具体实现 进入main.m所在目录 执行 xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc main.m 或者 xcrun -sdk iphoneos clang -arch arm64 -rewri 阅读全文
posted @ 2020-02-16 21:25 ZhangShengjie 阅读(118) 评论(0) 推荐(0) 编辑
摘要: pthread_rwlock:读写锁 #import "ViewController.h" #import <Pthread.h> @interface ViewController () @property (nonatomic,assign) pthread_rwlock_t lock; @en 阅读全文
posted @ 2020-02-11 23:01 ZhangShengjie 阅读(719) 评论(0) 推荐(0) 编辑
摘要: atomic用于保证属性setter、getter的原子性操作,相当于在getter和setter内部加了线程同步的锁 可以参考源码objc4的objc-accessors.mm 它并不能保证使用属性的过程是线程安全的、比如声明一个atomic数组 同时几个线程往数组加东西 atomic 大多用在M 阅读全文
posted @ 2020-02-11 21:31 ZhangShengjie 阅读(181) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 15 下一页