Cocoapods 版本更新 1.切换gem源gem sources --remove https://rubygems.org/gem source -a https://gems.ruby-china.org查看是否切换成功gem source -l打印出*** CURRENT SOURCES *** https://gems.ruby-china.org就说明切换成功,如果还是官...
【iOS】NSPredicate 谓词的使用 参考iOS-谓词的使用详解NSPredicate 谓词NSPredicateA definition of logical conditions used to constrain a search either for a fetch or for in-memory filtering.一种逻辑条件的定义,可以根据定义的模糊查询条件,对内存对象进行过滤搜索。1.比较运算符...
【iOS】PCH文件是什么?如何配置? PCH文件是什么?PCH文件(Precompile Prefix Header File),也就是预编译头文件。一次性导入多个头文件、宏或者URL地址等(全局使用),可以有效的帮你节约时间,提高开发效率。pch头文件的内容能被项目中的其他所有源文件共享和访问。能自动打开或者关闭日志输出功能。Xcode6之前,创建一个新工程xcode会在Supporting files文件夹下面自动创...
【iOS】#ifdef DEBUG 宏定义 整理自 iOS-#ifdef DEBUG宏定义介绍代码块结构#ifdef DEBUG// Debug模式的代码...#else// Release模式的代码...#endifdebug 和 release 的区别debug:调试版本,主要是让程序员使用。在调试的过程中调用 Debug 会启动更多的服务来监控错误(设置断点、单步执行、使用TRACE/ASSERT等调试输...
setValuesForKeys() 无法赋值问题 问题描述Swift4.0中,在网络请求到json数据后,进行数据解析,使用setValuesForKeys()进行赋值,明明定义了对应属性,但它还是走override func setValue(_ value: Any?, forUndefinedKey key: String) {}这个未定义的方法。// 错误代码!!!import UIKitclass NewsModel: N...
Swift 基础04 —— Objective-C转战Swift 目录闭包OC的block用法回顾闭包的使用懒加载访问权限闭包OC中的block是匿名的函数Swift中的闭包是一个特殊的函数block和闭包都经常用于回调OC的block用法回顾#import "ViewController.h"#import "HttpTools.h"@interface ViewController ()@property (nonatomic, s...
Swift 基础03 —— Objective-C转战Swift 目录枚举类型结构体类的使用类的定义类的属性监听属性的改变类的构造函数类的析构函数自动引用计数工作机制循环引用可选链协议枚举类型import UIKit// 1.枚举类型定义enum MenthodType : String{ case get = "get" case post = "post" case put = "put" case delete =...
Swift 基础02 —— Objective-C转战Swift 目录字符串的使用数组字典元组可选类型类型转化函数字符串的使用OC中字符串类型是NSString,Swift中字符串的类型是StringOC:@"", Swift:""string是一个结构体,性能更高NSSting是一个OC对象,性能略差String支持直接遍历Swift提供了String和NSString之间的无缝转换// 1.定义字符串let str = "Hello S...
Swift 基础01 —— Objective-C转战Swift 目录Swift 初体验常量&变量数据类型简单介绍类型推导基本运算逻辑分支if…else 的使用guard 的使用switch 分支循环使用for 循环while/ repeat while 循环Swift 初体验// 1.Swift导入框架/*Objective-C#import <UIKit/UIkit.h>----------------------------...
iOS13开发者预览版Beta1 @初体验 距离6月4日的WWDC19已经过去了整整一个礼拜,开发之余看遍了各大测评网站对iOS13的体验文章,心里还是痒痒呀,最终忍不住自己下载体验了一把。花费了大概半天时间,折腾了一下。安装准备Mac,目前只能用苹果电脑升级,因为Windows系统下的iTunes版本过低安装最新版的 iTunes(系统是最新版本的就行,iTunes会和系统一起更新)和 Xcode 11 beta (去苹果开发者...
iOS开发学习之路【高级主题】——传感器编程 目录简介检测传感器是否可用加速度传感器陀螺仪磁力传感器设备移动传感器简介iOS SDK 中提供了四种设备传感器:加速度传感器 Accelerometer陀螺仪Gyroscope磁力传感器 Magnetometer设备移动传感器 Device motion传感器编程的API框架是 CoreMotion.framework,使用时必须添加该框架。传感器编程的核心类是 CMMotio...
iOS开发学习之路【高级主题】——通讯录 通讯录简介苹果提供了读取联系人数据库的借口,通过 AddressBook.framework 框架中的API来实现。检测是否允许访问因为涉及到私密信息,需要先取得权限。参考我之前的博客。https://blog.csdn.net/guyindong/article/details/89400282 /*typedef CF_ENUM(CFIndex, ABAuthorizationSt...
MAC通过终端cd快速定位到指定目录 今天在使用mac终端时需要cd定位到一个较长的中文目录下,在网上找到了一些实用的小技巧做了一个简单的整理。方法一打开终端输入cd将想要定位的文件夹拖进终端,就能自动填充文件路径,点击回车就OK了方法二打开 访达到达指定目录下Command+Alt+P显示路径栏在路径栏右键拷贝为路径名称在终端cd + 粘贴 就OK了ps使用方法二如果文件名中有空格等特殊符号需要加 \...
iOS开发学习之路【高级主题】——电话短信邮件 目录电话短信邮件使用UIApplication的openURL使用MessageUI框架发短信发邮件通讯录电话短信邮件使用UIApplication的openURL UIApplication *app = [UIApplication sharedApplication]; NSString *strURL = [NSString stringWithFormat:@"tel:/...
iOS开发学习之路【高级主题】——GPS 定位 目录GPS 定位简介使用 MKMapView 显示地图使用 CLLocationManager 获得经纬度在地图上标注位置使用 CLGeocoder将经纬度转化为位置坐标将位置坐标转化为经纬度使用高德地图下载安装配置使用百度地图下载安装配置GPS 定位简介在 iOS SDK 中提供了两个框架,来实现位置服务。分别是 CoreLocation.framework 和 MapKit.framewo...
iOS开发学习之路【高级主题】——多媒体编程 目录实现播放音乐处理播放中断和续播实现录音准备工作设置录音文件保存位置设置 AVAudioSession初始化 AVAudioRecorder 和 AVAudioPlayer实现录音播放录音播放视频准备工作实现捕获视频缩略图选择系统音乐拍照和录像拍照录像实现播放音乐in Build Phases -> Link Binary With Libraries, add “AVFoundati...
iOS开发【debug】——iOS10访问权限的配置方法 问题描述:报错内容如下,并且无法显示内容或者奔溃[MC] System group container for systemgroup.com.apple.configurationprofiles path is XXX...[MC] Reading from private effective user settings.解决方法:在 Info.plist 中加入所需要用到的私有权...
iOS开发学习之路【高级主题】——XML文件解析、JSON数据解析 目录NSXMLParserGDataXMLNSXMLParser//初始化-(instancetype)init{ self = [super init]; if (self) { NSBundle *b = [NSBundle mainBundle]; NSString *path = [b pathForResource:@"custome...
iOS开发学习之路【高级主题】——多线程、网络编程 目录NSThread初始化一个 NSThread 的三种方法Operation Object创建设置线程之间的依赖关系GCDGCD 简介实现异步任务三种调度队列NSURLConnection网络编程请求服务器数据向服务器发送数据NSThread初始化一个 NSThread 的三种方法init- (instancetype)initWithTarget:(id)target select...