
Objective-C
文章平均质量分 86
云深 不知处
这个作者很懒,什么都没留下…
展开
-
Xcode 问题处理
1.library not found for -lstdc++XX在以下目录添加下载好的支持库// 真机目录/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib// 模拟器/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Dev.原创 2020-12-24 10:40:21 · 631 阅读 · 0 评论 -
Xcode基础
1.armv7,armv7s,arm64,arm64e 都是arm处理器的指令集2.i386,x86_64是Mac处理器的指令集arm64:iPhone6s | iphone6s plus|iPhone6| iPhone6 plus|iPhone5S | iPad Air| iPad mini2(iPad mini with Retina Display)armv7s:iPhone5|iPhone5C|iPad4(iPad with Retina Display)armv7:iPhone4|iP.原创 2020-06-08 17:30:58 · 241 阅读 · 0 评论 -
Object-C Cocoapods
已安装Cocoapods为项目自动更新配置第三方SDK在终端中操作如下1.一般cd到.xcodeproj文件所在目录(cd+空格+路径回车)2.创建Podfile文件(pod init)3.打开Podfile文件并输入target '项目名称' do pod 'SDK名称'end4.自动下载SDK(pod install)问题一:Analyzing dependenciesAdding spec repo `trunk` with CDN `https://cdn.cocoap.原创 2020-06-05 13:36:14 · 417 阅读 · 0 评论 -
ios 查看崩溃日志
1.崩溃的唯一标识符Incident Identifier2.设备的唯一标识符CrashReporter Key3.设备的型号Hardware Model: iPhone9,24.应用名称[崩溃进程]Process: OTC [2772]5.Path: /var/containers/Bundle/Applicat...原创 2019-11-20 14:25:25 · 514 阅读 · 0 评论 -
ios_字符串判断
//判断字符串是否是由数字组成- (BOOL)stringIsNum:(NSString *)str{ NSString *regex =@"[0-9]*"; NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex]; if ([pred evaluateWithObje...原创 2019-11-20 14:23:40 · 193 阅读 · 0 评论 -
Runtime运行时机制
Runtime又叫运行时,是一套底层的C语言API。特性:OC在编译的时候并不知道要调用那个方法函数,只有在运行的时候才知道调用方法函数名称,来找到对应的方法函数进行调用。[C语言在编译的时候就知道要调用那个方法函数]Runtime的作用一.发送消息每当一个类创建了一个方法的时候系统就会为这个方法进行一个编号然后放在方法列表中。当方法进行调用的时候就去方法列表中进行查找。obj...原创 2019-11-20 14:22:34 · 247 阅读 · 0 评论 -
键盘样式(UIKeyboardType)
-----UIReturnKeyType.done1.UIKeyboardType.default[简体拼音;英文字母;中文字符;数字] 2.UIKeyboardType.asciiCapable[英文字母;英文字符;数字]3.UIKeyboardType.numbersAndPunctuation[简体拼音;英文字母;中文字符;英文字符;数字]4.UIKeyboardT...转载 2016-05-19 19:05:08 · 1987 阅读 · 0 评论 -
Object-C PCH文件的使用
在Xcode6之前,创建一个工程Xcode会在Supporting files文件夹下自动创建一个“工程名-Prefix.pch”文件,pch文件的内容能被项目中的其他文件共享和访问,是一个预编译文件(尽量少得放置否则导致编译时间变长)。pch的作用1.存放一些全局的宏(整个项目都用得上的宏)2.用来包含一些全部的头文件(整个项目中都用的上)3.自动打开或者关闭日志输出功能如何...原创 2017-02-13 15:00:39 · 710 阅读 · 0 评论 -
XCode更改工程名称
例: 项目名AmbufOffice改成Ambuf.一. 修改Bundle ID二: 点击选中manage schemes更改target上的工程名.三.更改项目名称选中回车更改名字上图操作完Products里名字已改.四: 删除下图三个文件夹,选择Remove References.去工程文件夹修改此三个文件夹名字,然后拖到工程里.注意保...转载 2017-02-09 10:28:11 · 675 阅读 · 0 评论 -
富文本
ios项目中经常需要显示一些带有特殊样式的文本,比如说带有下划线、删除线、斜体、空心字体、背景色、阴影以及图文混排(一种文字中夹杂图片的显示效果)。通常想要实现这些效果要使用到iOS的Foundation框架提供的NSAttributedString类,NSAttributedString类中有许多属性,不同属性对应不同的文本样式。本文主要对这些属性做一个解释说明,并会结合实际代码来应用它们。...转载 2018-08-13 10:20:09 · 835 阅读 · 0 评论 -
ios之 UIScrollView
NSTimer *timer; NSInteger time; UIScrollView *scrollview; CGFloat height; NSArray *arr = @[@"测试1afdfafs",@"测试2sadfasasf",@"测试3adsaf",@"测试4adsafa"]; scrollview = [[UIScrollVi...原创 2018-08-10 14:07:35 · 230 阅读 · 0 评论 -
UItextView的样式
#pragma mark - UITextView-(void)textViewDidBeginEditing:(UITextView *)textView{ UILabel *label = [textView viewWithTag:200]; if ([textView.text isEqualToString:@""]) { label.hid...原创 2018-08-09 16:52:40 · 407 阅读 · 0 评论 -
第三方库
1.TFHpple-masterhtml解析并且获取内容// 将html字符串转为 NSData *data = [html dataUsingEncoding:NSUTF8StringEncoding];// 创建Hpple对象 TFHpple *xpathParser = [[TFHpple alloc] initWithHTMLData:data];// 搜索X...转载 2018-10-22 11:10:52 · 408 阅读 · 0 评论 -
iOS 集合的深复制与浅复制
iOS 集合的深复制与浅复制概念对象拷贝有两种方式:浅复制和深复制。顾名思义,浅复制,并不拷贝对象本身,仅仅是拷贝指向对象的指针;深复制是直接拷贝整个对象内存到另一块内存中。一图以蔽之再简单些说:浅复制就是指针拷贝;深复制就是内容拷贝。集合的浅复制 (shallow copy)集合的浅复制有非常多种方法。当你进行浅复制时,会向原始的集合发送retain消转载 2016-12-29 14:42:29 · 209 阅读 · 0 评论 -
图片的相关处理
1.图片转化为base64字符串+ (NSString *)ImageTobase64:(UIImage *)image { CGSize size = image.size; size.width = WIDTH; size.height = HEIGHT; UIImage *newImage = [self sc原创 2017-02-12 16:48:01 · 222 阅读 · 0 评论 -
正则表达式(数字、字母、汉字)
//判断字符串是否全是由数字组成- (BOOL)stringIsNum:(NSString *)str{ NSString *regex = @"[0-9]*"; NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex]; if ([prede valua...转载 2016-12-05 16:28:30 · 4428 阅读 · 0 评论 -
iOS版本升级后的问题
iOS10以后在targets-info里面设置麦克风权限:Privacy - Microphone Usage Description 是否允许此App使用你的麦克风? 相机权限: Privacy - Camera Usage Description 是否允许此App使用你的相机?相册权限: Privacy - Photo Library Usage Description 是...转载 2016-11-23 09:06:53 · 475 阅读 · 0 评论 -
常用工具(字符串的占用空间、时间比较、字符串为空、持续时间)
/** * 获取字符串的所占空间 */ +(CGSize)GetCGSizeForString:(NSString *)str Font:(CGFloat)font maxSize:(CGSize)maxSize{ NSDictionary *attribute =@{NSFontAttributeName: [UIFontsystemFontOfSize:fon...原创 2016-11-08 15:51:35 · 701 阅读 · 0 评论 -
根据两点坐标及父视图绘制直线
UIImageView *imageView=[[UIImageView alloc] initWithFrame:self.view.frame]; [self.view addSubview:imageView]; UIGraphicsBeginImageContext(imageView.frame.size); [imageView.imag...转载 2016-11-08 14:51:00 · 394 阅读 · 0 评论 -
小代码集合
1.根据navigation返回到指定界面 UIViewController *viewCtl = self.navigationController.viewControllers[2]; [self.navigationController popToViewController:viewCtl animated:YES];原创 2016-09-26 16:13:34 · 204 阅读 · 0 评论 -
ios 录音使用lame.h转化caf为mp3
代理AVAudioPlayerDelegate,AVAudioRecorderDelegate{ UIButton *voiceBtn;} @property (nonatomic,strong)AVAudioRecorder *audioRecorder;//音频录音机@property (nonatomic,strong)AVAudioPlayer *audi...原创 2016-12-14 16:41:13 · 2674 阅读 · 0 评论 -
网络请求(get Post)
---------------------------------------NetworkReques.h文件 @interface MainConnection :NSObject<NSURLConnectionDataDelegate,NSURLConnectionDelegate> @property (nonatomic,strong)NSURLC...原创 2016-11-08 14:55:41 · 301 阅读 · 0 评论 -
ios NSURLSession Post请求
- (void)sendPostRequest{ NSURLSession *session = [NSURLSession sharedSession]; NSString *urlStr = [NSString stringWithFormat:@"%@AppWebService.asmx/IOS_InsertTrip",urlHead]; NSURL *url ...原创 2017-02-16 10:33:33 · 1291 阅读 · 0 评论 -
OC -类似于通讯录的功能
一.建立person类包含name pinyin参数#import "Person.h"@property (nonatomic,copy)NSString *name;@property (nonatomic,copy)NSString *pinYin;二.实现类#import "Person.h"#define WIDTH [UIScreen mainS原创 2017-02-16 10:17:30 · 321 阅读 · 0 评论 -
UINavigation相关
1.设置页面返左侧BarButton为一个箭头 [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60) forBarMetrics:UIBarMetric原创 2017-02-12 11:02:41 · 238 阅读 · 0 评论 -
1.继承
1.父类和子类 我们在定义一个新类的时候,经常会遇到现有的类不能满足需求的时候,如果可以在已有类的基础上追加内容或者修正来定义新类,那么将变得很简单。 像这种通过扩展或者修改既有类来定义新类的方法继承。在继承关系中,被继承的类称为父类。通过继承关系新建的类称为子类。 继承意味着子类继承了父类的所有的特性,父类的数据成员和成员函数自动成为子类的数据成员和成员函数除此之外,子类还可以...原创 2019-11-20 14:22:56 · 318 阅读 · 0 评论 -
UITableView 类似通讯录的功能
一.新建Person类@property (nonatomic,copy)NSString *name;@property (nonatomic,copy)NSString *pinYin;二.实现类#import "Person.h"#define WIDTH [UIScreen mainScreen].bounds.size.width#原创 2017-02-16 11:07:43 · 1057 阅读 · 0 评论 -
神注释
/** *_______________#########_______________________ *______________############_____________________ *______________#############____________________ *_____________##__###########_____________转载 2017-01-15 11:43:40 · 429 阅读 · 0 评论 -
封装的带有筛选功能的选择器
封装的选择人员的一个View1.SelectSellerView.h#import #import "AllSellerModel.h"@class SelectSellerView;@protocol SelectSellerDelegate NSObject>-(void)selectData:(AllSellerModel *)model;原创 2017-03-27 17:35:05 · 320 阅读 · 0 评论 -
不受视图切换影响的小小的提示框
//1.调用 MyUnitilty *myU = [[MyUnitiltyalloc] init]; [myU creatHintLab:@"新增客户联系人离线上传成功!"];//2.类中的定义{ UILabel *hintLab;}-(void)creatHintLab:(NSSt原创 2017-04-11 09:10:46 · 196 阅读 · 0 评论 -
ios手机邮箱 配置
1.在邮箱-账户界面设置开启iMAP/SMTP服务2.在手机设置—邮件、通讯录、日历界面添加邮箱账户转载 2018-01-22 09:28:45 · 1508 阅读 · 0 评论 -
Object-c扩展
1.创建扩展 分类(category)的作用1.可以再不修改原来的基础上,为一个类扩展方法2.最主要的用法:给系统自带的类扩展方法分类介绍1.分类中只能添加方法,不能增加成员变量2.分类中可以访问原来类中的成员变量,但是只能访问@protect和@public形式的变量。如果想要访问本类中的私有变量,分类和子类一样,只能通过方法来访问。3.如果一定要在分类中添加...转载 2018-07-24 17:31:43 · 671 阅读 · 0 评论 -
UISegmentedControl分段选择
NSArray *tiltes = @[@"姓名",@"大区"]; UISegmentedControl *segment = [[UISegmentedControl alloc]initWithItems:tiltes]; segment.frame = CGRectMake(10, 100, WIDTH-20, 35); segment.selectedSegmentIn...转载 2018-05-18 10:02:39 · 408 阅读 · 0 评论 -
iOS多线程--多线程之GCD2
线程、任务和队列的概念异步、同步 & 并行、串行的特点一条重要的准则一般来说,我们使用GCD的最大目的是在新的线程中同时执行多个任务,这意味着我们需要两项条件:能开启新的线程任务可以同时执行结合以上两个条件,也就等价“开启新线程的能力 + 任务同步执行的权利”,只有在满足能力与权利这两个条件的前提下,我们才可以在同时执行多个任务。所有组合的特点(一)异步执行 + 并行队列实现代码:1234...转载 2018-01-10 09:38:14 · 608 阅读 · 0 评论 -
iOS多线程--多线程之GCD
No.1:GCD的特点GCD会自动利用更多的CPU内核GCD自动管理线程的生命周期(创建线程,调度任务,销毁线程等)程序员只需要告诉 GCD 想要如何执行什么任务,不需要编写任何线程管理代码No.2:GCD的基本概念任务(block):任务就是将要在线程中执行的代码,将这段代码用block封装好,然后将这个任务添加到指定的执行方式(同步执行和异步执行),等待CPU从队列中取出任务放到对应的线程中执...转载 2018-02-09 09:37:27 · 152 阅读 · 0 评论 -
iOS-多线程之『NSOperation』
No.1:NSOperation简介NSOperation是基于GCD之上的更高一层封装,NSOperation需要配合NSOperationQueue来实现多线程。NSOperation实现多线程的步骤如下:1231.创建任务:先将需要执行的操作封装到NSOperation对象中。2.创建队列:创建NSOperationQueue。3.将任务加入到队列中:将NSOperation对象添加到...原创 2018-02-09 09:36:19 · 176 阅读 · 0 评论 -
Xcode 使用symbolicatecrash解析 Crash文件
环境:Xcode8一、找到.app文件和.app.dSYM文件 在桌面创建一个crash文件夹,然后Xcode->Window->Organizer找到Archives找到App->右击Show in Finder 复制.app和.app.dSYM到crash夹文件:右击.xcarchive文件->显示包内容 在dSYMs文件夹中找到.app.dSY...原创 2018-01-25 09:35:43 · 532 阅读 · 0 评论 -
通过网络获取系统的真实时间
- (NSString *)getInternetDate{ NSString *urlString = @"http://m.baidu.com"; urlString = [urlString stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]; NSMutableURLReques转载 2017-11-10 10:57:59 · 1092 阅读 · 0 评论 -
retain,copy,assign和autorelease
1.假如你用malloc分配了一块内存,并且把它的地址赋值给了a,后来你希望指针b也共享这块内存,于是你有把a赋值给(assign)了b。此时a和b指向同一内存,请问当a不在需要这块内存时,能否释放这块内存?答案是否定的,因为a并不知道b是否在使用这块内存,如果a释放了,那么b在使用这块内存的时候就会引起程序崩溃2.了解到1中assign的问题,那么如何解决呢?最简单的方法就是使用引用计数,还转载 2017-01-15 11:38:23 · 357 阅读 · 0 评论