ios 解决按钮防重复点击的问题-编程思维

日常使用中经常会出现按钮重复点击导致的数据重复提交问题,从而导致数据出错,常用的解决办法有 1、在发起请求的时候来一个全屏的loading这样在loading期间按钮就无法被点击,这种方式有个弊端就是loading弹窗起来需要几百毫秒时间左右,在这段时间期间用户如果手速过快,仍然可以触发多次点击事件; 2、发起提交时把按钮enabled或者userInteractionEnabled设置为fal

ios开发-项目的完整重命名方法,图文教程。-编程思维

前言:在IOS开发中,有时候想改一下项目的名字,都会遇到很多麻烦。直接改项目名吧,XCODE又不会帮你改所有的名字。总是有很多文件、文件夹或者是项目设置的项。而且都是不能随便改的,有时候改着改着,编译不了。所以各位重命名项目时,记得先备份好一份噢。本文我会介绍一种方法,是我自己参考了很多资料得出的总结。   为什么说是完整呢?因为改名之后,你不会再看到任何有关于之前的项目名字。   本文会把一个

ios开发-uiview之动画效果的实现方法(合集)-编程思维

前言:在开发APP中,我们会经常使用到动画效果。使用动画可以让我们的APP更酷更炫,最重要的是优化用户体验,但取决于动画的质量。像QQ、微信、新浪微博等APP,动画效果就很好了,至少我很喜欢它们的动画,让我使用起来感觉很顺畅,心情很开朗。本文会介绍UIView效果的实现方法,非核心动画。   一、使用UIView类实现动画 基本写法,代码必须放在Begin和Commit之间:  [UIView

ios开发-objective-c block的实现方式-编程思维

前言:我们可以把Block当作一个闭包函数,它可以访问外部变量和局部变量,但默认是不可以修改外部变量。你可以使用它来做回调方法,比起使用代理(Delegate)会更加直观。顺带一提,苹果很多的接口(API)都使用了Block。     一、Block的基本定义 Block的基本写法(也是详细写法): returnType (^blockName)(params) = ^returnType(p

ios开发-protocol协议及委托代理(delegate)传值-编程思维

前言:因为Object-C是不支持多继承的,所以很多时候都是用Protocol(协议)来代替。Protocol(协议)只能定义公用的一套接口,但不能提供具体的实现方法。也就是说,它只告诉你要做什么,但具体怎么做,它不关心。   当一个类要使用某一个Protocol(协议)时,都必须要遵守协议。比如有些必要实现的方法,你没有去实现,那么编译器就会报警告,来提醒你没有遵守××协议。注意,我这里说的是

ios开发-正则表达式的使用方法-编程思维

前言:在表单验证中,我们经常会使用到正则,因为我们需要用它来判断用户输入的字符是否为合法的,如果是不合法的,那么应该提示用户输入错误,并不让提交至服务器。我们也可以通过正则表达式,从用户输入的字符串中过滤并获取我们想要的特定部分。总而言之,正则表达式是非常强大的。     方法一、谓词(NSPredicate)创建正则表达式 使用它来判断用户输入的字符串是否为合法的: // 编写正则表达式:只

ios开发-object-c学习之结构体使用-编程思维

前言:定义结构体并不是定义一个变量,而是定义了种数据类型。   结构体作用:   结构体和其他类型基础数据类型一样,例如int类型,char类型 只不过结构体可以做成你想要的数据类型。以方便日后的使用。   在实际项目中,结构体是大量存在的。研发人员常使用结构体来封装一些属性来组成新的类型。由于C语言内部程序比较简单,研发人员通常使用结构体创造新的“属性”,其目的是简化运算。   结构体在函数

ios开发-自动布局之autoresizingmask使用详解(storyboard&code)-编程思维

前言:现在已经不像以前那样只有一个尺寸,现在最少的IPHONE开发需要最少需要适配三个尺寸。因此以前我们可以使用硬坐标去设定各个控件的位置,但是现在的话已经不可以了,我们需要去做适配,也许你说可以使用两套UI或两套以上的UI,但那样不高效也不符合设计。IOS有两大自动布局利器:autoresizing 和 autolayout(autolayout是IOS6以后新增)。autoresizing是

ios开发-关闭/收起键盘方法总结-编程思维

前言:作为IOS开发人员,需要经常和表单打交道。因此我对收起键盘的方法作了下总结,IOS收起键盘有三种方法(如果有其它收起键盘的方法请在留言区指错)。   收起键盘的方法: 1、点击Return按扭时收起键盘 - (BOOL)textFieldShouldReturn:(UITextField *)textField { return [textField resignFirstRes

ios开发-使用storyboard进行界面跳转及传值-编程思维

前言:苹果官方是推荐我们将所有的UI都使用Storyboard去搭建,Storyboard也是一个很成熟的工具了。使用Storyboard去搭建所有界面,我们可以很迅捷地搭建出复杂的界面,也就是说能为我们节省大量的时间。我们还可以很直观地看出各个界面之间的关系,修改起来也很方便。将来如果遇到需要作修改的地方,我们只需要找到相对应的Storyboard就可以了,比起以前来说,快捷了不少。   我会

ios捕获异常,常用的异常处理方法-编程思维

前言:在开发APP时,我们通常都会需要捕获异常,防止应用程序突然的崩溃,防止给予用户不友好的一面。其实OBJECT-C的异常处理方法和JAVA的雷同,懂JAVA的朋友一看就懂。我为什么要写这篇博文呢?因为我发现百度上的介绍方法,很多都不是我想要的,而我想要的又说得不清楚,重点是大家都是直接复制别人的代码。。。于是不多说,大家往下看~~~   以下程序已测试并通过: 设备:IOS8模拟器中 开发工

ios开发-在swift里使用afnetworking方法-编程思维

  在OC里使用惯了AFNetworking,比较喜欢这一个第三方库,在别的途径里得知可以在Swift里使用AFNetworking。但是那个时候我不知道具体的操作是怎样的,于是我只能去百度、GOOGLE了,还好让我给找到了答案,因而在这里和大家分享一下。 1.首先把下载好的AFN库直接拖到工程中   2.这里把Copy item if needed这个选项勾上,然后点完成   3.这时会有

ios开发-重写description方法,自定义控制台(log)信息-编程思维

description是所有类都有的一个方法。 我们重写这个方法,可以自定义实例输出的信息。   比如我们创建一个Person类: 在.h文件中添加两个属性: #import <Foundation/Foundation.h> @interface Person : NSObject @property (strong, nonatomic) NSString *name; @

ios开发-代码片段(code snippets)提高开发效率-编程思维

  简介 在 XCode4 引入了一个新特性,那就是“代码片段(Code Snippets)”。对于一些经常用到的代码,抽象成模板放到 Code Snippets 中,使用的时候就只需要键入快捷键就可以了。   查看代码片段,请看下图: 也可以使用 Control + Option + Command + 2 调出“代码片段”工具。   苹果也自带一些“代码片段(Code Snippets)”

swift 与 object-c 交互 (swift版本为:1.2)-编程思维

这篇文章主要是介绍 Swift 与 Object-C 之间进行交互的代码,主要分为两个部分。一个是 Swift 项目调用 Object-C 的类,另一个是 Object-C 项目调用 Swift 类。过程是很简单,但是对于没接触过的人来说,还是存在一点难度的。   你可以在 GitHub 上下载此文章相关的源代码:Swift-Objective-C-Mutual(https://github.c