摘要:1. 前言 Block:带有自动变量(局部变量)的匿名函数。它是C语言的扩充功能。之所以是拓展,是因为C语言不允许存在这样匿名函数。 1.1 匿名函数 匿名函数是指不带函数名称函数。C语言中,函数是怎样的呢?类似这样: int func(int count); 调用的时候: int result =
阅读全文
摘要:如果我们有些功能要给别人用,但是又不想公开代码实现,比如高德地图、第三方登录分享等等,这时候我们就要打包成库了。库分静态库和动态库两种: 静态库:以.a 和 .framework为文件后缀名。动态库:以.tbd(之前叫.dylib) 和 .framework 为文件后缀名。 静态库与动态库的区别 静
阅读全文
摘要:我是前言 我是前言 一个iOS app的main()函数位于main.m中,这是我们熟知的程序入口。但对objc了解更多之后发现,程序在进入我们的main函数前已经执行了很多代码,比如熟知的+ load方法等。本文将跟随程序执行顺序,刨根问底,从dyld到runtime,看看main函数之前都发生了
阅读全文
摘要:1.分类(category)的作用 1.1作用:可以在不修改原来类的基础上,为一个类扩展方法。1.2最主要的用法:给系统自带的类扩展方法。 2.分类中能写点啥? 2.1分类中只能添加“方法”,不能增加成员变量。2.2分类中可以访问原来类中的成员变量,但是只能访问@protect和@public形式的
阅读全文
摘要:类相信大家都知道是什么,如果看过runtime的源码或者看过相关的文章对isa肯定也不陌生,不过元类(meta class)大家可能就比较陌生了。不过大家也不要担心,我会细细道来,让大家明白它到底是个什么东西。 先看一段大家非常熟悉的代码: 1 Person *person = [[Person a
阅读全文
摘要:下面是我的执行步骤 首先在iTunes Connect中找到要更换开发者账号的app,点击其中的转让app 点进去之后出现了一些注意事项,大概看了一下,貌似没有什么不符合的,提示大概三个小时就可以转让成功,因为我们的app不收费,而且没有用iAd,有这种情况的大概要两个工作日 没有问题的话,点击继续
阅读全文
摘要:NSUserDefaults是什么,有什么用处 对于应用来说,每个用户都有自己的独特偏好设置,而好的应用会让用户根据喜好选择合适的使用方式,把这些偏好记录在应用包的plist文件中,通过NSUserDefaults类来访问,这是NSUserDefaults的常用姿势。如果有一些设置你希望用户即使升级
阅读全文
摘要:关于限制输入字数以前也做过,网上也很多方法。但都不够完美,本方法可防止中文联想、粘贴等突破长途限制、可防止Emoji截为两半导致编码出问题。
阅读全文
摘要:1、简介: 在项目中,正则的使用是很普遍的,例如登录账号和密码(手机号、邮箱等)。用到的方法就是谓词对象过滤:NSPredicate。 2、什么是正则表达式: 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式。正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要
阅读全文
摘要:引言: 验证码倒计时按钮的应用是非常普遍的,本文介绍了IOS实现验证码倒计时功能,点击获取验证码,进入时间倒计时,感兴趣的小伙伴们可以参考一下 效果图 效果图 实现思路: 创建按钮, 添加点击方法; 用NSTimer定时器, 每秒执行一次, 定时改变Button的title,改变Button的样式,
阅读全文
摘要:步骤1.拖拽手势注意:拖拽到First Responder下方,成功后会出现一个分类Objects(如图 拖拽成功后会多出一个分类Objects 拖拽成功后会多出一个分类Objects )步骤2.给需要的view绑定手势控件 拖拽gestureRecognizers(control + 左键或右键)
阅读全文
摘要:看以下示例代码: if([_delegate respondsToSelector: @selector(someClassDidSomething:)){ [_delegate someClassDidSomething]; } 一般情况下,我们在写代理的时候都是这样判断某个对象有没有实现代理中的
阅读全文
摘要:Objective-C 有两个神奇的方法:+load 和 +initialize,这两个方法在类被使用时会自动调用。但是两个方法的不同点会导致应用层面上性能的显著差异。 一、+ initialize 方法和+load 调用时机 首先说一下 + initialize 方法:苹果官方对这个方法有这样的一
阅读全文
摘要:1.注册接口 1.接口地址:http://www.51qingyuan.com/register.php2.支持格式:json3.请求方式:post4.请求参数: 5.返回字段说明: JSON返回示例 2.注册信息提交接口 注册成功后为此用户分配唯一的id 1.接口地址:http://www.51q
阅读全文
摘要:文章来源:https://www.jianshu.com/p/2c93446d86bd
阅读全文
摘要:父类子类指针函数调用注意事项1,如果以一个基础类指针指向一个衍生类对象(派生类对象),那么经由该指针只能访问基础类定义的函数(静态联翩)2,如果以一个衍生类指针指向一个基础类对象,必须先做强制转型动作(explicit cast),这种做法很危险,也不符合生活习惯,在程序设计上也会给程序员带来困扰。
阅读全文
摘要:一,Instruments 的介绍: 1、instrument能做的事情: Instruments是用于动态调追踪和分析OS X和iOS的代码的性能分析和测试工具; Instruments支持多线程的调试; 可以用Instruments去录制和回放,图形用户界面的操作过程 可将录制的图形界面操作和I
阅读全文
摘要:在开发中经常会用到单例设计模式,目的就是为了在程序的整个生命周期内,只会创建一个类的实例对象,而且只要程序不被杀死,该实例对象就不会被释放。下面我们来看看单例的概念、用途、如何创建,以便加深理解。 作用 在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象
阅读全文
摘要:1. 创建bundle,如图,点击 + ,弹出选择框, macOS 下的Framework & Library ,点击bundle,输入bundle的名字,然后点击 finish。 图1.1 图1.2 2. 点击创建好的bundle ,修改属性 图2.1 "Base SDK" 设置为 "Latest
阅读全文
摘要:创建framework静态库 第一步,新建项目 新建项目.png 新建项目.png 第二步,删除系统默认创建的【FMDB.h】和【FMDB.m】文件,导入需要打包的源文件。 导入源码后的工程.png 导入源码后的工程.png 第三步,修改项目配置 首先,设置需要暴漏的头文件 header文件设置.p
阅读全文