![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Objective-C
kakatimo
存在的诱惑
展开
-
NSNotificationCenter用法总结
NSNotificationCenter未必一定要建在消息接收者的类中。可以放在别的类中,先实例化一下,然后把observer赋值为刚对象。这里的observer相当于接受者(receiver),object相当于发送者(poster)。理解了这点就可以较灵活地使用通知了。iPhone软件开发的时候会遇到这种情况:打开APP后会在后台运行某个方法,例如下载文件,下载完成后可能需要调用某个方原创 2016-04-14 10:37:03 · 315 阅读 · 0 评论 -
iOS presentViewController弹…
想要实现点击tableview中的一个cell,弹出一个页面,代码如下:HSLoginViewController *loginVC = [HSLoginViewController new]; [self presentViewController:loginVC animated:YES completion:nil]; 结果页面弹出速度非常慢,有时几秒钟才能弹出原创 2016-04-14 10:38:08 · 470 阅读 · 0 评论 -
更改navigationController pu…
自定义navigationController push和pop界面切换动画,代码如下: Push: MainView *nextView=[[MainView alloc] init]; [UIView beginAnimations:nil context:NULL]; [UIView setAnimationCurve:UIViewAnimationCurveEaseInO原创 2016-04-14 10:38:11 · 241 阅读 · 0 评论 -
iOS - AFNetworking2安…
友情提示:本文使用的AFNetworking是最新gitpull的2.3.1版本,如果想确认你机器上的AFNetworking版本,请打git tag命令查看。 绝大部分iOS程序的后台服务都是基于RESTful或者WebService的,不论在任何时候,你都应该将服务置于HTTPS上,因为它可以避免中间人攻击的问题,还自带了基于非对称密钥的加密通道!现实是这些年涌现了大量速成的移动端开发原创 2016-04-14 10:38:13 · 402 阅读 · 0 评论 -
加载本地HTML文件
将html文件及相关资源添加到项目中需要注意的是,把js文件加入到项目时会默认将其当做需要编译的代码,需要在TARGETS->BuildPhases中的”Compile Sources”中找到该js文件,并将其移到上面的Copy BundleResources中。然后在代码中可以用两种方法加载。1.第一种方式,使用loadRequest:方法加载本地文件NSURLRequestNSS原创 2016-04-14 10:38:16 · 942 阅读 · 0 评论 -
[iOS常见问题] 关于使用QQ做…
注意:QQ本身没有授权功能,所以想要使用QQ做第三方登录必须通过QQ空间来实现!第一步:集成ShareSDK(步骤同集成分享的一样,如果已经集成过就不用再重新集成了),这里需要注意的是,由于是要通过QQ空间来实现授权登录,所以在下载ShareSDK包的时候别忘了勾选QQ空间,不然会报尚未导入平台(6)的错误。第二步:打开工程中的*AppDelegate.m(*代表你的工程名字)文件,导入Q原创 2016-04-14 10:38:19 · 493 阅读 · 0 评论 -
iOS延迟加载
dispatch_time_t popTimer =dispatch_time(DISPATCH_TIME_NOW, (int64_t) (delayInSeconds *NSEC_PER_SEC)); dispatch_after(popTimer, dispatch_get_main_queue(), ^{ [UIViewanimateWithDu原创 2016-04-14 10:38:21 · 372 阅读 · 0 评论 -
iOS开发之判断字符串是否为空的方…
Hello, 最近感觉变懒了,不行,得振作起来... 好久没更新博客了. 废话少说了直接走入正题. 估计不少看博客的人都有开发的经历,那么在iOS 应用开发的阶段, 我们肯定会遇到与后台的联系,比如回获取后台传来的数据, 那么. 有时会遇到空的字符串,我们会怎样去判断呢? 下面是qpp开发中所用到的判断字符串是否为空的方法,希望能够对大家有所帮助.. - (BOOL) isBlankS原创 2016-04-14 10:38:38 · 344 阅读 · 0 评论 -
UIDatePicker的简单用法
原文地址:UIDatePicker的简单用法作者:Simon// 初始化UIDatePickerUIDatePicker *datePicker = [[UIDatePicker alloc]initWithFrame:CGRectMake(0, 200, 320, 216)];// 设置时区[datePicker setTimeZone:[NSTimeZonetimeZoneWithN转载 2016-04-14 10:38:46 · 222 阅读 · 0 评论 -
判断UITextField的输入只为数字的…
今天公司项目测试人员发现app里一个奇葩的问题, 在用户登陆的时候, 密码出输入中文而不是字母或数字的时候,点击登陆,艹... 直接崩了. 后来弄了方案, 直接不让你输入中文 下面就用了个方法 仅供参考 勿喷.....实现下面的委托#define NUMBERS @"0123456789\n"- (BOOL)textField:(UITextField *)t原创 2016-04-14 10:38:53 · 1037 阅读 · 0 评论 -
怎么判断UITextField 输入为…
NSString *temp= [textField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; //看剩下的字符串的长度是否为零 if ([temp length]!=0){... }原创 2016-04-14 10:38:56 · 286 阅读 · 0 评论 -
任务 dispatch_async 与…
#define kBgQueuedispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0) - (void)viewDidLoad{ [super viewDidLoad]; dispatch_async(kBgQueue,^{ NSData* data = [NSData d原创 2016-04-14 10:39:16 · 225 阅读 · 0 评论 -
NSRunLoop
1.NSRunLoop是消息机制的处理模式NSRunLoop的作用在于有事情做的时候使的当前NSRunLoop的线程工作,没有事情做让当前NSRunLoop的线程休眠2.nstimer默认添加到当前NSRunLoop中,也可以手动制定添加到自己新建的NSRunLoop的中[NSTimer schduledTimerWithTimeInterval: target:selecto原创 2016-04-14 10:39:43 · 298 阅读 · 0 评论 -
使用RMMapper将.plist文件转成model模型
在项目开发中, 有时我们会用到.plist, 这个时候可能会使用这个plist,拿出来用model去绑定它来对应项目MVC, 我们可以引入RMMapper,废话不多说,看代码先。在git clone RMMapper,操作不多说了哈, 不会的可以私信我,会详细给你支招。一、创建一个类TaskPlist基于NSObject, 代码如下:.h#import @int原创 2016-04-14 10:42:26 · 1271 阅读 · 0 评论 -
UITableView的性能优化
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath这个代理方法的实现,只在可见的页面是会重复绘制页面的static NSString *CellIdentifier = @"tableCell";UITableViewCell *原创 2016-07-30 00:34:35 · 314 阅读 · 0 评论 -
iOS sqlite基本使用
// Singleton.h#definesingle_interface(class) + (class*)shared##class;//.m// \代表下一行也属于宏// ##是分隔符#definesingle_implementation(class) \static class*_instance; \ \+ (class*)shared##class原创 2016-04-14 10:38:05 · 173 阅读 · 0 评论 -
iOS7返回手势的开启与禁用
1. 在有的时候,我们不需要手势返回功能,那么可以在页面中添加以下代码: [objc] view plaincopyprint?- (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; // 禁用 iOS7 返回手势 if ([self.navigatio原创 2016-04-14 10:38:02 · 305 阅读 · 0 评论 -
mac针对svn地址变换的措施
1、先找到你需要修改svn地址的项目目录,假如在桌面上2、进入终端先输入 ls 回车,出现==========================================Desktop Downloads Movies Pictures cdDocuments Library Music Publicma原创 2016-04-14 10:37:54 · 875 阅读 · 0 评论 -
NSNotification、delegate和KVO的…
1.效率肯定是delegate比nsnotification高。2. delegate方法比notification更加直接,最典型的特征是,delegate方法往往需要关注返回值,也就是delegate方法的结果。比如-windowShouldClose:,需要关心返回的是yes还是no。所以delegate方法往往包含should这个很传神的词。也就是好比你做我的delegate,我原创 2016-04-14 10:37:05 · 230 阅读 · 0 评论 -
单例模式详细介绍
单例是指静态分配的实例,就是只开辟一块内存,不会重新开辟内存,而iphone sdk 中全是这种实例,例如[UIApplication sharedApplication] 返回一个指向代表应用程序的单例对象的指针。[UIDevicecurrentDevice] 获取一个代表所有使用硬件平台的对象。将类方法与单例相结合,便可以在程序的任何地方访问静态实例,而无需使用指向对象的指针或保存原创 2016-04-14 10:37:07 · 291 阅读 · 0 评论 -
MVC模型简单介绍
一、MVC概述1、基本概念模型-视图-控制器(MVC模式)是一种非常经典的软件架构模式,在UI框架和UI设计思路中扮演着非常重要的角色。从设计模式的角度来看,MVC模式是一种复合模式,它将多个设计模式在一种解决方案中结合起来,用来解决许多设计问题。MVC模式把用户界面交互分拆到不同的三种角色中,使应用程序被分成三个核心部件:Model(模型)、View(视图)、Control(控制器)。原创 2016-04-14 10:37:10 · 912 阅读 · 0 评论 -
OC学习总结之异步连接
哎, 前几天去了趟韩国, 浪了几天. 一直没机会写博客. 这不回来的第一天上班就是儿童节,祝大家节日快乐哈..不吹牛逼了 直接搞起1、同步连接和异步连接同步连接是iOS中网络连接的一种方式,当请求的数据量小时,同步连接是一个很好的选择。UI“冻结”是它的一个缺点。同步连接步骤://新建一个URL NSURL*url = [NSURLURLWithStrin原创 2016-04-14 10:37:13 · 372 阅读 · 0 评论 -
内存管理错误实例
1、过度释放 NSMutableArray* arr = [NSMutableArray arrayWithCapacity:0]; NSDictionary* dic = [[NSDictionary alloc]init]; [arraddObject:dic]; dic= [[NSDictionary alloc]原创 2016-04-14 10:37:15 · 341 阅读 · 0 评论 -
IOS之同步请求、异步请求、GET请求…
1、同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作,2、异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然可以对UI进行操作,程序可以继续运行3、GET请求,将参数直接写在访问路径上。操作简单,不过容易被外界看到,安全性不高,地址最多255字节;4、POST请求,将参数放到body里面。POST原创 2016-04-14 10:37:18 · 302 阅读 · 0 评论 -
appstore上架后的app怎么下架
用开发者账号登陆到Itunesconnect,点击主页的“Manage Your App” 选项点击你要下架的App程序图标,进入到App信息管理页面,选择右侧的“Rights And Pricing”进入到编辑页面。在“Avaliabilty Date”处可以选择一个未来的日期在下方有个选择APP销售地区的地方,把所有销售地区"Unselect All"最后点击"Save",保存你的原创 2016-04-14 10:37:28 · 993 阅读 · 0 评论 -
ios5中UIViewController addC…
ios4还是3,以前基于在vviewcontroller上的切换,基本上就2中方式,导航控制器上的push,或者普通控制器上modal,现在终于多了一个这种玩意儿了。在ios5中,ViewController中新添加了下面几个方法:addChildViewController: removeFromParentViewController transitionFromViewContro原创 2016-04-14 10:37:31 · 243 阅读 · 0 评论 -
2015年06月08日
self.firstVC = [[HMTFirstViewController alloc]init];088.[self.firstVC.viewsetFrame:CGRectMake(0, 104, 320, 464)];089.[selfaddChildViewController:_firstVC];090. 091.self.secondVC= [[HMT原创 2016-04-14 10:37:34 · 192 阅读 · 0 评论 -
两个强制屏幕旋转的方法
第一个: ?12345678// 状态栏动画持续时间 CGFloat duration = [UIApplicationsharedApplication].statusBarOrientationAnimationDuration; [UIView animateWithDuration:durationanima原创 2016-04-14 10:37:36 · 3093 阅读 · 0 评论 -
iOS中延时执行的几种方式的比较和…
本文列举了四种延时执行某函数的方法及其一些区别。假如延时1秒时间执行下面的方法。- (void)delayMethod { NSLog(@"execute"); }1.performSelector方法[self performSelector:@selector(delayMethod) withObject:nil afterDelay:1.0f];此方式要求必须在主线原创 2016-04-14 10:37:39 · 244 阅读 · 0 评论 -
iOS多线程GCD
// 后台执行: dispatch_async(dispatch_get_global_queue(0, 0), ^{ // something }); // 主线程执行: dispatch_async(dispatch_get_main_queue(), ^{ // something }); // 一次性执行: static dispatch_once_原创 2016-04-14 10:37:42 · 179 阅读 · 0 评论 -
iphone开发用正则判断邮箱、密码是…
端午过后, 有段时间没写博文了. 哎,大表弟高考结束要报考志愿.....我得提点意见是吧.不能不问.做做样子也是好的噻...废话不多说了 上代码1、判断用户名,在2-16位 -(BOOL)CheckInput:(NSString*)_text { NSString *Regex =@"^//w{2,16}$"; NSPredicate *emailTest原创 2016-04-14 10:37:44 · 224 阅读 · 0 评论 -
iOS 获取手机码时间倒计时(定…
中午吃完饭闲着也闲着, 来一发第一种:- (void)getCodeCountdown{ _secondsCountDown = 60; _countDownTimer = [NSTimerscheduledTimerWithTimeInterval:1 target:selfselector:@selector(timeFireMethod) userInfo:nil原创 2016-04-14 10:37:47 · 285 阅读 · 0 评论 -
Xcode8适配iOS7及以下设备
不准将此博客作为其他用途,否则后果自负!原创 2016-10-21 16:27:20 · 796 阅读 · 0 评论