- 博客(28)
- 资源 (6)
- 收藏
- 关注
原创 ios 算法值选择排序
选择排序(Selection sort)是一种简单直观的排序算法。工作原理:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。oc版本oc demo//算法封装方法- (NSArray *)selectSortMethod:(NSArray *)dataArr{ if (dataArr.count &l.
2021-02-07 16:42:27
205
原创 swift中KVO的使用
NSObject基类中默认遵守了NSKeyValueCoding协议,所以我们在使用KVO的时候必须是基于NSObject才能正常使用。在使用oc开发的时候由于我们在创建的类默认会继承NSObject所以可以直接使用KVO,但是在swift中我们必须手动显示的继承NSObject类,并且还需要添加@objc dynamic两个关键字修饰否则无法使用。方法一:个人感觉与使用oc时候的用法还是蛮类似的。class KVOClass:NSObject { @objc dynamic var curr.
2021-02-07 14:03:56
1014
原创 swift 中的KVC该如何使用
- #####1.下边是一个简单的给类中属性赋值的例子,这样写是可以运行的。但是如果我想通过`setValue:forKey`对其进行赋值却报错`Value of type 'KVCTestClass' has no member 'setValue'`.```class KVCTestClass { var someValue: String = "你好"}let kvc = KVCTestClass()print("赋值前边:\(kvc.someValue)")kvc.someV...
2021-02-05 18:28:38
730
原创 ios算法之冒泡排序算法
百度百科解释通过不断的走访需要排序的元素,依次比较两个相邻的元素。如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。这样重复的进行直到没有相邻元素需要交换,就算元素排序完成。名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名冒泡排序。oc版本如下oc Demo地址#pragma mark - 冒泡排序- (void)bubbleSortMethod{ int iCount =.
2021-02-05 18:27:13
485
2
原创 VsCode简单使用
正所谓工欲善其事必先利其器,就先来熟悉一下前端开发用的比较多的VsCode开发工具吧!因为我使用的是mac电脑所以下边的介绍都针对于VsCode官方文档一、 快捷键列表:1.⇧⌘P(命令面板)2.键盘快捷键⇧⌘M二、编辑器快捷键#####1.cd到对应的项目文件夹下边,然后使用命令code .可以打开项目。code .#####2.在最近使用的代码窗口中打开当前目录code -r .#####3. 创建一个窗口code -n4.更改编译器语言code --locale=es5.
2020-06-08 11:44:25
628
原创 ios 个人开发者账号到期续费成功的注意事项
如果对苹果的一些证书和发布流程不明白的大家可以先看看我之前写的这篇文章:证书基础篇问题描述:2020年4月份的时候公司证书到期,之前在到期前一个月我已经续费成功了,可是当时由于忙于适配暗黑模式。就疏忽了过期证书的处理,结果后来打包上线总是提包不了,可是把我郁闷坏了。在解决完问题后,做个总结希望以后不要在犯。一、【问题描述】1.在之前如果是因为签名的问题,你在使用xcode打包的时候会在最后一步报错然后告诉你错误让你去解决,可是升级到xcode 11.5之后你签名错误不会再最后一步提醒你,即使是.
2020-06-06 10:56:57
1538
原创 ios runtime之方法交换
苹果的文档一直是以人性化著称,今天没事看了看<objc/runtime.h>中的API,感觉人家确实写的好,自己也顺便做下记录。/** * Exchanges the implementations of two methods.(交换两个方法的实现。) * * @param m1 Method to exchange with seco...
2019-12-23 16:01:04
469
原创 swift之 自定义中缀运算符的优先级和结合性
自定义中缀运算符的优先级和结合性每一个自定义的中缀运算符都y属于一个优先级组优先级组指定了自定义中缀运算符和其他中缀运算符的关系struct Coordinate2D{ var x = 0.0, y = 0.0}infix operator +-: AdditionPrecedenceextension Coordinate2D { static func +...
2019-12-02 22:51:56
409
原创 swift 之 柯里化(Currying)
参考链接:https://www.jianshu.com/p/b80e13e4e5de概念:在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。这个技术由 Christopher Strachey 以逻辑学家 Haskell Curry 命名的,尽管它是 Moses Schnf...
2019-12-02 22:20:18
285
原创 swift中的运算符重载(类和结构体自定义预算符)
大家也可以参考一下如下几篇博客:https://www.jianshu.com/p/fed5f9caa5fchttps://www.cnblogs.com/LilianChen/archive/2013/03/15/2961901.html1、运算符重载栗子struct Coordinate2D { var x = 0.0,y = 0.0;}extension Coordi...
2019-12-01 22:02:01
284
原创 The project ‘xxxxx(项目名称)’ is damaged and cannot be opened due to a parse error. Examine the projec
今天在写swift项目遇到如下问题[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f71Qr82q-1575208858366)(https://upload-images.jianshu.io/upload_images/2121726-a8e1ccefd9c83a04.png?imageMogr2/auto-orient/strip%7CimageView2...
2019-12-01 22:01:19
5101
2
原创 Swift中各个关键字的代表含义
1.重写定义的前面加上 ‘‘override’’ 关键字子类可以为继承来的实例方法,类方法,实例属性,类属性,或下标提供自己定制的实现。我们把这种行为叫重写。2.final 防止它们被重写3.inout 输入输出参数4.使用 mutating 关键字修饰方法是为了能在该方法中修改struct 或是 enum 的变量5. ‘!’ 强制解包 一定要获取一个值 不能够为nil6. ‘?’ ...
2019-12-01 22:00:39
388
原创 如何高效的使用搜索引擎
原文链接:https://github.com/shijiangkai/iOS-Programming-Sharinghttps://www.zhihu.com/question/20161362以下为搜索案例测试直接黏贴到搜索引擎就可以。 ###搜索引擎命令大全1、site:v2ex.com/ iOS进阶2、网站:zhihu.com/ iOS进阶3、双引号把搜索词放在双引号中,...
2019-12-01 21:59:29
4756
原创 swiftenv 命令参考
1、 version显示当前本地正在使用的版本$ swiftenv version2.2 (set by /home/kyle/.swiftenv/version)2、versions列出所有已安装的Swift版本,在当前活动版本旁边显示一个星号。$ swiftenv versions* 4.2 (set by /Users/jiachen/.swiftenv/versio...
2019-12-01 21:57:44
247
原创 管理swift版本工具~~~swiftenv简单使用
一、如果已经安装了[安装了](https://swiftenv.fuller.li/en/latest/installation.html) swiftenv就可以使用如下命令$ swiftenv versions 2.2.1 2.3* 3.0 (set by /Users/kyle/.swiftenv/version)####注意:swiftenv将自动获取Xcode或Swi...
2019-12-01 21:56:36
545
原创 swift中的类和对象
#####1、使用关键字class来创建一个类。class AnimateDog{ var dogEate = 1 func footDes() -> String { return "小狗要吃\(dogEate)盆食物!" }}#####2、使用类名 + ()创建类的实例。var smallDog = AnimateDog()smallDo...
2019-12-01 21:53:29
229
原创 Swift 中的闭包
####1.什么是闭包?#### 在苹果给出的官方文档上给出了这样的一段代码,我觉得对理解闭包有很大的帮助。func returnFifteen() -> Int { var y = 10 func add() { y += 5 } add() return y}returnFifteen()...
2019-12-01 21:52:29
203
原创 Swift 中数组、字典、元组三者的区别
####1、元组的简介https://www.jianshu.com/p/498bb49be04d####2、数组、字典、元组三者的区别https://www.jianshu.com/p/27054bb16c41####3、元组实践https://www.jianshu.com/p/15262607659c...
2019-12-01 21:52:02
934
原创 Swift 中 _ 和 !和 ? 分别是什么东西呢?
####1、在swift中有么一个“_”符号,具体例子如下。func greet(_ person: String, on day: String) -> String { return "Hello \(person), today is \(day)."}分析:使用_代表忽略(不使用)参数标签。####2.!和?是什么东西呢?? 和 ! 其实分别是Swift语言...
2019-12-01 21:51:28
713
原创 Swift 中语法糖和??
需要练习的小伙伴可以去苹果的官方去敲一遍:https://docs.swift.org/swift-book/GuidedTour/GuidedTour.html###一、语法糖if let 理解代码片段一:var optionalName: String? = "你好!"var greeting = "Hello!"if let name = optionalName { ...
2019-12-01 21:49:47
411
原创 ios 对KVC的理解
一、ios 开发中的KVC1、KVC的概念KVC(Key-value coding)键值编码,可以通过Key名直接访问对象的属性,或者给对象的属性赋值。而不需要调用明确的存取方法。这样就可以在运行时动态地访问和修改对象的属性。2、KVC用途在实现了访问器的存取方法后,使用点语法和KVC对对象进行操作差别不大二者可以混合使用。在没有访问方法的类中,点语法不能使用,这时候KVC就有优势了。3...
2019-09-26 15:33:35
226
原创 ios中UIView常见的一些方法介绍及使用
1、- (void)addSubview:(UIView *)view; 个人觉得理解为向当前 UIVIew 添加子视图比较好记,其实是插入到当前所有子视图的最上面;所以还是理解成添加好记,因为正常的添加本来就一层一层网上叠加。 2、- (void)removeFromSuperview; 把接收者从它的父视图或者窗口移除,并在响应链中移除。 3、- (void)insertSubview:
2016-09-12 23:58:59
442
原创 ios开发之小总结「类与对象的判断方法和遍历字典的方法」
1、「对象」isKindOfClass「类名」用于判断某个对象是否为指定类,或该类的父类的对象 2、「对象」isMemberOfClass「类名」判断某对象是否为指定类的对象。 3、「类名」isSubclassOfClass「类名」判断一个类是否为另一个类的子类 4、「对象」isKindOfClass「类名」一个对象是否是一个类的成员(实例),或者是派生自该类的类的成员============
2016-09-11 23:36:18
1455
原创 ios 的数据持久化技术(一)
在iOS中有一整套的数据安全体系,而对于iOS自身的APP来讲只能访问专属于自己的目录,这个目录就是我们通常在iOS开发中所讲的沙箱(沙盒)目录,就此目录而言应用程序间是禁止数据的共享和访问的。一、沙箱(沙盒)的结构《1》、应用程序包(上图中的动态单元格高度.app);包含了所有的资源文件和可执行文件 《2》、 Documents:保存应用运行时需要持久化的数据,iTunes 同步设备时会备份
2016-09-04 23:13:13
429
原创 oc中NSString的基本使用---iOS基础篇
1、字符串的创建方式 <1>、字面量,它是常量字符串,存储常量区 NSString *str=@”你好”; <2>、通过快捷构造法,存储堆区 NSString *str = [NSString stringWithFormat:@”你好 %@”, @”世界”]; <3>、初始化方法 NSString *str = [[NSString alloc] initWithFormat:@”
2016-08-18 23:05:26
359
原创 Xcode中的main.m文件与AppDelegate中的代理方法简介---iOS基础篇
main.m文件中的方法简介 &vbsp如上图所示,该方法为Xcode中的main.m文件中默认的一个方法,我们只要创建一个工程它都会出现在我们的工程中,可能你会好奇这个方法是干什么的那么下边就来分析一下它。 &vbsp这个默认的方法为iOS程序的入口,iOS程序只要一运行便从这个main.m函数开始执行,但是在main函数中我们其实只能看到一个方法,这个方法内部是一个消息循环(相当于一个死循
2016-08-01 23:53:42
1651
原创 iOS中runtime(运行时)的简单介绍与应用
最近学习到runtime这一块知识了所以就总结一下,以备以后要用。但是由于runtime这一块的知识比较多所以今天在这里只是做一个简单的总结。一、什么是Runtime? Objective-C runtime是一个实现Objective-C语言的C库。它是一门编译型语言、也是一门动态型的语言(这里强调下OC是静态类型语言),之前没接触runtime的时候也不觉着它有多重要,接触之后才发现
2016-06-28 19:27:13
1198
ios 真机测试包,13.3(17C54).zip
2019-12-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人