Objective-C
数智客栈
十多年开发和管理经验;
擅长C/C++、Objective-C、Swift、Python和Java编程技术;
熟悉Windows、Linux、Mac、Android、IOS平台应用开发;
博客专注于分享这些年工作学习的技术经验,持续更新
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
xcode-select: error: invalid developer directory ‘path/to/Xcode.app‘
xcode-select: error: invalid developer directory ‘path/to/Xcode.app‘原创 2022-09-25 08:24:25 · 3720 阅读 · 0 评论 -
iOS Base64编码解码的两种方法
一、第一种方法 使用GTM第三方类库 咱们新建一个字符串的分类NSString (Base64) NSString+Base64.h #import <Foundation/Foundation.h> NS_ASSUME_NONNULL_BEGIN @interface NSString (Base64) // Base64编码方法1 - (NSString *)base6...原创 2020-04-05 14:17:20 · 7677 阅读 · 0 评论 -
iOS多线程同步之NSLock实战例子
场景:用户账户初始有1000元钱,开10个线程同时进行存钱和取钱操作,10个线程同时执行,其中5个线程负责存钱操作,5个线程负责取钱操作。 (1) 5个存钱线程,每个线程每隔0.1毫秒存入100元,执行10W次; (1) 5个取钱线程,每个线程每隔0.1毫秒取出100元,执行10W次; 可以预期的结果是:存钱线程和取钱线程存入和取出刚好相互抵消,当所有线程执行完的时候,用户账号余额仍然是1000元...原创 2020-04-05 12:44:00 · 451 阅读 · 0 评论 -
多线程同步之@synchronized实战例子
场景:售票点有100W张门票,10个售票站,计算机开10个线程一起在卖票,每个线程卖10W张门票,0.1秒卖出一张票,卖完为止。 我们预期的结果是:当10个线程都卖完票的时候,总票数为0。 简单一点,直接上代码,门票类Ticket.h #import <Foundation/Foundation.h> NS_ASSUME_NONNULL_BEGIN /** 门票 */ @interf...原创 2020-04-05 12:15:36 · 380 阅读 · 0 评论 -
IOS 深复制(深拷贝)和浅复制(浅拷贝)
// 深浅复制1 - (IBAction)copyAction1:(id)sender { NSString *string0 = [NSString stringWithFormat:@"ABCDEFG"]; NSString *string1 = [string0 copy]; // 浅复制 NSMutableString *string2 = [string0 m...原创 2020-04-02 22:08:10 · 430 阅读 · 0 评论 -
iOS OC中copy和mutableCopy的使用区别
iOS OC中copy和mutableCopy的使用区别 // 浅复制 - (IBAction)shallowCopyAction:(id)sender { NSArray *array0 = @[@"A", @"B", @"C"]; NSArray *array1 = array0; NSArray *array2 = [array0 copy]; NSLog(@...原创 2020-04-02 21:30:39 · 289 阅读 · 0 评论 -
OC NSString在@property中strong和copy的区别
OC NSString在@property中strong和copy的区别 定义一个strong修饰的字符串属性testString1 定义一个copy修饰的字符串属性testString2 #import "ViewController.h" @interface ViewController () @property (nonatomic, strong) NSString *testS...原创 2020-04-01 20:16:54 · 642 阅读 · 0 评论
分享