随笔分类 -  iOS

摘要:import Foundation import CoreTelephony /// 设备网络类型 public enum NetworkType { case unknow, unconnect, wifi /// 手机网络 case phone(NetPhoneType) /// 当前的连接网络 阅读全文
posted @ 2021-09-29 11:08 mustard22 阅读(277) 评论(0) 推荐(0)
摘要:1 struct VPN { 2 /// 判断VPN是否打开 3 static var isOpen: Bool { 4 guard let cfDict = CFNetworkCopySystemProxySettings() else { 5 return false 6 } 7 8 let n 阅读全文
posted @ 2021-09-29 11:06 mustard22 阅读(1) 评论(0) 推荐(0)
摘要:安装homebrew 苹果电脑 常规安装脚本(推荐 完全体 几分钟安装完成): /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 苹果电脑 极速安装脚本(精简版 几秒钟安装完成 阅读全文
posted @ 2021-03-17 13:47 mustard22 阅读(76) 评论(0) 推荐(0)
摘要:NSString *urlStr = @""; // 将中文URL进行转码 urlStr = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSURL *url = [NSURL URLWithString:urlStr]; 阅读全文
posted @ 2019-09-19 20:32 mustard22 阅读(698) 评论(0) 推荐(0)
摘要:结论: 1.用KVC改变只读属性的值; 2.若禁止KVC方式修改只读属性的值,可在对应类重写类方法 分析: 1.被readonly修饰的属性,是没有创建setter方法的,所以通过点语法修改属性的值会报错; 2.在类的实现文件里,是可以通过实例变量修改属性的值; 3.在类的外部文件里,可以通过KVC 阅读全文
posted @ 2019-06-27 15:53 mustard22 阅读(1473) 评论(0) 推荐(0)
摘要:事件的传递和响应的区别? 事件的传递是从上到下(父控件到子控件),事件的响应是从下到上(顺着响应者链条向上传递):子控件到父控件。 如何判断上一个响应者? 如果当前这个view是控制器的view,那么控制器就是上一个响应者 如果当前这个view不是控制器的view,那么父控件就是上一个响应者 如果当 阅读全文
posted @ 2019-06-26 18:38 mustard22 阅读(289) 评论(0) 推荐(0)
摘要:1、在文件APPDelegate.m里,实现方法“- (void)remoteControlReceivedWithEvent:(UIEvent *)event”的重写,用来接收控制中心的事件。 Appdelegate里就设置这些。 2、在音频播放界面 上面这些实现了控制中心和播放界面的交互。此时, 阅读全文
posted @ 2019-06-26 17:41 mustard22 阅读(841) 评论(0) 推荐(0)
摘要:Objective C Swift ` ` 阅读全文
posted @ 2019-06-26 17:34 mustard22 阅读(637) 评论(0) 推荐(0)
摘要:深拷贝(指针和指向都改变) , 浅拷贝(指针改变,指向不变) | 源对象类型 | 拷贝模式 | 目标对象类型 | 拷贝类型 | | : : | : : | : : | : : | | NSMutableString | copy | 不可变 / NSString | 深拷贝 | | NSMutabl 阅读全文
posted @ 2019-06-26 17:20 mustard22 阅读(185) 评论(0) 推荐(0)
摘要:1.plist文件 即属性列表文件,全名是Property List,这种文件的扩展名为.plist,因此,通常被叫做plist文件。它是一种用来存储串行化后的对象的文件,用于存储程序中经常用到且数据量小而不经常改动的数据。 可以存储的类型:NSNumber,NSString,NSDate,NSDa 阅读全文
posted @ 2019-06-26 16:56 mustard22 阅读(471) 评论(0) 推荐(0)