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 · 2661 阅读 · 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 · 7253 阅读 · 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 · 330 阅读 · 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 · 312 阅读 · 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 · 342 阅读 · 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 · 211 阅读 · 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 · 533 阅读 · 0 评论