- 博客(24)
- 收藏
- 关注
原创 UICollectionFlowLayOut
1.自定义UICollectionFlowLayOut 支持长按 拖动Cell 交换位置 支持水平和垂直两个方位的滚动 2.支持拖动Cell 到自定义 附加的View 来选择时复制Cell 还是删除Cell 附加的View可以自己定义 在相应的代理中实现即可 2.Demo中用使用的例子,可以根据自己的需求变化class ViewController: U...
2018-10-31 13:55:00
245
原创 Objective-C对象的isa指针
Objective-C是一门面向对象的编程语言,每一个对象都是一个类的实例,在Objective-C中,每一个对象都有一个名为isa的指针,指向该对象的类。每一个类描述了一系列它的实例的特点,包括成员变量的列表、成员函数的列表等。每一个对象都可以接受到消息,而对象能够接受到的消息列表保存在它所对应的类中。注意:每一个对象都有一个isa指针,这个指针指向的是...
2018-10-11 11:05:00
311
原创 NS_ASSUME_NONNULL_BEGIN & NS_ASSUME_NONNULL_END
NS_ASSUME_NONNULL_BEGIN & NS_ASSUME_NONNULL_END我们都知道在swift中,可以使用!和?来表示一个对象是optional的还是non-optional,如view?和view!。而在 Objective-C中则没有这一区分,view既可表示这个对象是optional,也可表示是non-optional。...
2018-10-11 11:05:00
311
原创 ios底层Socket编程
前言“一切皆Socket!”话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。Socket网络编程在任何一门编程语言中都很重要,socket底层是纯C语言,跨平台,尽管我们大部分时候开发项目很少去关注底层的socket,但是了解它,是十分重要的一件事情,熟悉底层交互可以进一步提高自己编程水平。本文的主要内容如下:1、网络中进程之间如何通信...
2018-10-11 11:04:00
186
原创 swift 文件 MD5
swift 文件 MD5import CommonCrypto/** 文件的MD5*/func md5File(path:String) ->String? { let url =URL.init(fileURLWithPath: path) let bufferSize =1024*1024 do{ //打开文...
2018-10-11 11:01:00
635
原创 线程和进程
进程基本概念1.进程就是一个正在运行的应用程序;2.每一个进程都是独立的,每一个进程有专门的内存空间,拥有独立的堆栈空间和数据段,系统开销较大3.在Linux系统中,想要新开启一个进程是一件非常简单的事情只需要一句话:fork(),在fork()之后就会包含两个进程,此时可以根据返回的PID来判断是子进程还是父进程;4.iOS中是一个非常封闭的系统,每一个...
2018-09-05 14:29:00
97
原创 swift byte 操作
目前正在开发一个蓝牙项目,涉及到byte的操作,一开始swift上的byte操作不知道从哪里下手,通过查阅一些资料,现在总结两个方法: ...
2018-07-10 17:36:00
1610
原创 Mac应用开发NSCollectionView 纯代码用法遇到的坑
想开发一个VideoLine 加载视频关键帧的缩略图 于是想纯代码自定义一个VideoLineView (NSView), 里面加一个NSCollectionView ,但是开发的过程中就碰到无法回调代理方法func collectionView(_ collectionView: NSCollectionView, itemForRepresentedObjectAt indexPath: ...
2018-05-26 10:02:52
3991
原创 Swift Precondition 预处理
Preconditionprecondition 和 assert 的格式类似,也是动态的,precondition 会造成程序的提前终止并抛出错误信息. Precondition在一般的代码中并不多见,因为它是动态的,只会在程序运行时进行检查,适用于哪些无法在编译期间确定的风险情况。如果出现了诸如数据错误的情况,Precondition会提前终止程序,避免因数据错误造成更多的损失。...
2018-05-18 14:18:59
1075
原创 swift Array类中 reduce 函数的用法
swift 中Array 定义的reduce函数 public func reduce<Result>(_ initialResult: Result, _ nextPartialResult: (Result, Element) throws -> Result) rethrows -> Result 接收两个参数,一个类型为Result的初始值,另一个为...
2018-04-25 11:14:15
3973
原创 Swift中$0、$1的实际含义
swift 自动为闭包提供了参数缩写功能,可以直接通过 0和0和0 和1等来表示闭包中的第一个第二个参数,并且对应 的参数类型会根据函数类型来进行推断。如下代码:不使用 000 1来代替闭包参数let sortedArray = [2,3,5,6,7] let tempSum = sortedArray.sorted { (a, b) -&gt; Bool in retu...
2018-04-24 20:24:52
5348
原创 Mac apache php 和CGI 的配置
今天看了很多关于PHP和CGI 在Mac上apache 的配置的教程,按照起步骤操作了还是不行,最后通过尝试配置成功了,下面我将为大家总结一些其配置流程,希望能帮到大家!!!!# 1. Mac上Php的配置# (1)查看Apache的版本信息 在终端上输入apachectl -vServer version: Apache/2.4.29 (Unix)Server built: Jan 17 2...
2018-04-19 11:14:53
434
转载 Swift标准库中常见的协议
//swift标准库为我们提供了55种协议,他们的命名很有特点,基本是以“Type”、“able”、“Convertible”结尾,分别表示该协议“可以被当作XX类型”、“具备某种能力活着特性”、“能够进行改变活着变换”。因此在自定义协议时应该尽可能遵守苹果的命名规则,便于开发人员之间的高效合作。下面介绍一下常见的几种协议:Equatable// Equatable 是比较相关的协议,遵守协议表示...
2018-03-16 15:53:21
1252
原创 如何定义可选的protocol属性和方法呢?
定义可选的protocol属性或者方法@objc protocol StudentProtocol{ @objc optional var height: Int{ get set} @objc optional var weight: Int{ get } @objc optional func getName() @objc optional func getSex()...
2018-03-16 14:36:44
1643
原创 Swift中的Protocol你知道多少呢?
什么是Protocol?protocol是swift中的一种自定义约束,一般用于定义某些类的一种共同特性定义一个protocolprotocol Student { func getName() func getGrade()}某个class、struct、enum遵守这个约定,需要实现约定的方法(注意:如果里面的方法有参数,不能有默认值)struct Person:Student {...
2018-03-15 22:42:46
972
原创 Xcode7 IOS 项目协作开发遇到apple push notification 提示开发者权限enrolled需求提示
和同事协作开发iOS项目,其他的同事添加了 apple push apn 证书及远程消息提醒代码后,代码同步到另一个账户时提示开发账号没有远程消息提醒权限,需重新注册,但账号已为开发者账号,xcode7.3中的Capabilities选项卡中又没有apple push 选项开关,导致无法进行真机测试,解决方案如下:1、去掉代码中的消息提醒部分2、在projectName.
2016-04-21 21:40:47
959
原创 XCode-LibrarySearchPath和FramewrokSearchPath
Search Paths 查询路径Always Search User Paths --- 是否搜索用户路径Xcode Header Path的设置 Header Search Paths是一定会去搜索的。1.UserHeader Search Paths只有在Always Search User Paths为Yes时才会被搜索。2.Header Search
2016-04-15 22:39:26
868
原创 ios9 Xcode7后运行以前的项目后出现大量的警告如:
今天Xcode升级7.3后 运行了一下突然出现了好多警告,吓我一跳研究了好久,有洁癖的我反正是不能忍,出现警告的大致原因跟我上面提到的开启Bitcode,.dSYM文件不能用来符号化有关,Xcode试图去创建dSYM文件,但是你又不需要。首先我们来说一下BitCode 是个什么东西Bitcode:开启Bitcode编译后,可以使得开发者上传App时只
2016-04-14 22:53:03
1299
1
转载 iOS的socket开发基础
iOS的socket开发基础首先让我们通过一张图知道socket在哪里?Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。 TCP和UDP的区别TCP:面向连接、传输可靠(保证数据正确性、保证数据顺序)、用于传输大量数据(流模式)、速度慢,建立连接需要开销较多(时间,系统资源)。UDP:面向非连接、传输不可靠、用于传输少量数据(数据包模式)
2016-04-12 10:53:45
269
原创 swift 枚举
swift 枚举使用enum 关键字创建 。和类以及其他所有命名类一样,在枚举中可以包含方法: enum Rank:Int{ case Ace = 1 case Two,Three,Four,Five,Six,Seven,Eight,Nine,Ten case Jack,Queen,King
2016-01-13 10:50:12
263
原创 窥探Swift之函数与闭包的应用实例
今天的博客比较基础。我们将讨论一下Swift中的函数和闭包。今天的一些小实例中将类比一下Objective-C中得函数得写法等。Swift中的函数还是有许多好用的特性的,比如输入参数,使用元组返回多个值,定义形参名,设定默认参数以及可变参数等等一些好用的特性。 而在Swift中的闭包就是Objective-C中的Block,除了语法不通外,两者的用法是一样的。好吧,少说废
2016-01-12 10:15:07
243
原创 swift 类和结构体
1.类和结构体是通过关键字class和struct定义的。swift 的编码风格是类class和结构体struct名字使用大写字母开头的匈牙利表示法。相反的,类的方法和属性则是用小写字母开头的匈牙利表示法。结构体总是通过被复制而进行代码传递的 struct SForm{ var iXX:Int =99 var
2016-01-09 09:29:35
307
转载 更简单的AutoLayout 之SDAutoLayout
【SDAutoLayout 视频教程:http://www.letv.com/ptv/vplay/24038772.html】☆新增:cell高度自适应 + label文字自适应☆>>>>> tableview cell 自动高度设置只需要3步1. >> 设置cell高度自适应:12// c
2016-01-08 15:44:11
474
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人