iOS-单例模式-使用技巧】的更多相关文章

记录下一些不常用技巧,以防忘记,复制用. 1.获取当前的View在Window的frame: UIWindow * window=[[[UIApplication sharedApplication] delegate] window]; CGRect rect=[_myButton convertRect:_myButton.bounds toView:window]; 2.UIImageView 和UILabel 等一些控件,需要加这句才能setCorn _myLabel.layer.mas…
iOS开发实用技巧—Objective-C中的各种遍历(迭代)方式 说明: 1)该文简短介绍在iOS开发中遍历字典.数组和集合的几种常见方式. 2)该文对应的代码可以在下面的地址获得:https://github.com/HanGangAndHanMeimei/Code 一.使用for循环 要遍历字典.数组或者是集合,for循环是最简单也用的比较多的方法,示例如下: //普通的for循环遍历 -(void)iteratorWithFor { //////////处理数组////////// NS…
iOS开发实用技巧—在手机浏览器头部弹出app应用下载提示 本文介绍其简单使用: 第一步:在本地建立一个访问的服务端.  打开本地终端,在本地新建一个文件夹,在该文件夹中存放测试的html页面.   在终端输入一行代码:python -m SimpleHTTPServer ---第二步:配置环境  打开safari,偏好设置->勾选 "在菜单栏中显示开发菜单",如下图所示. 第三步:编写html文件 在测试文件appdown.html中编写的测试代码如下:   `说明`44493…
iOS开发实用技巧篇—项目新特性页面的处理 说明:本文主要说明在项目开发中会涉及到的最最简单的新特性界面(实用UIScrollView展示多张图片的轮播)的处理. 代码示例: 新建一个专门的处理新特性界面的控制器,可以实用代码也可以用xib,在这里实用纯代码方式,创建一个控制器NewfeatureViewController. 头文件代码: // // JMNewfeatureViewController.h // #import <UIKit/UIKit.h> typedef enum:NS…
单例模式的意思就是只有一个实例.单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例.这个类称为单例类. 1.单例模式的要点: 显然单例模式的要点有三个:一是某个类只能有一个实例:二是它必须自行创建这个实例:三是它必须自行向整个系统提供这个实例. 2.单例模式的优点: 1.实例控制:Singleton 会阻止其他对象实例化其自己的 Singleton 对象的副本,从而确保所有对象都访问唯一实例. 2.灵活性:因为类控制了实例化过程,所以类可以更加灵活修改实例化过程   IOS…
IOS单例模式(Singleton)   单例模式的意思就是只有一个实例.单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例.这个类称为单例类. 1.单例模式的要点: 显然单例模式的要点有三个:一是某个类只能有一个实例:二是它必须自行创建这个实例:三是它必须自行向整个系统提供这个实例. 2.单例模式的优点: 1.实例控制:Singleton 会阻止其他对象实例化其自己的 Singleton 对象的副本,从而确保所有对象都访问唯一实例. 2.灵活性:因为类控制了实例化过程,所…
iOS开发小技巧 遇到的问题: 给Label添加中划线,然后并没有效果 NSString *str = [NSString stringWithFormat:@"合计金额 ¥%.2f",model.amount]; NSDictionary *attrDic = @{ NSStrikethroughStyleAttributeName: @(1), NSFontAttributeName : Font(FONT_SIZE_12) }; NSMutableAttributedString…
iOS开发小技巧 - runtime适配字体 版权声明:本文为博主原创文章,未经博主允许不得转载,有问题可联系博主Email: liuyongjiesail@icloud.com 一个iOS开发项目无外乎就是纯代码布局.xib或SB布局.那么如何实现两个方式的字体大小适配呢? 字体大小适配------纯代码 定义一个宏定义如下: #define SizeScale (SCREEN_WIDTH != 414 ? 1 : 1.2) #define kFont(value) [UIFont syste…
记录下一些不常用技巧,以防忘记,复制用. 1.UIImageView 和UILabel 等一些控件,需要加这句才能成功setCorn _myLabel.layer.masksToBounds = YES; 后续补充: clipsToBounds:View的属性. masksToBounds:layer的属性. 效果一致,超出即剪裁,具体差别,以后再补充. 后续再补充: 设置圆角方法大概有这几种: 1.setCorn 优化:shouldRasterize 光栅化 适用于图层不会被频繁地重绘.没有动…
     iOS开发--常用技巧 (MJRefresh详解) https://github.com/CoderMJLee/MJRefresh 下拉刷新01-默认 self.tableView.header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ // 进入刷新状态后会自动调用这个block }]; 或 // 设置回调(一旦进入刷新状态,就调用target的action,也就是调用self的loadNewData方法) self.…
一.屏幕显示图像原理 首先明确两个概念:水平同步信号.垂直同步信号. CRT 的电子枪按照上图中的方式,从上到下一行一行的扫描,扫描完成后显示器就呈现一帧画面,随后电子枪回到初始位置继续下一次的扫描.当电子枪切换到新的一行准备扫描时,显示器会发送一个水平同步信号(Horizonal Synchronization),简称HSync:完成一帧画面绘制后,电子枪会回到原位,显示器会发送一个垂直同步信号(Vertical Synchronization),简称VSync. CUP 计算好显示内容提交到…
以下是本人在iOS开发工作中使用的一些小技巧,记录一下. 1.使用XXX.pch文件便捷开发+加速Build 在IOS开发的项目中有一个XX_Prefix.pch XX_Prefix.pch:扩展名.pch表示"precompiled header",这是一个你工程要用到的来自于外部框架的头文件列表.xcode将编译这些头到文件,这将减少你在选择Build 或Build and Go时编译项目的时间.通常用到的头文件已经自动包含了pch,系统编译每个.m文件前,都会先imort这个文件…
转载自http://www.cnblogs.com/daiweilai/p/4421340.html 目录 前言 逼优鸡 知己知彼 百战不殆 抽刀断Bug 普通操作 全局断点(Global BreakPoint) 条件断点(Condational Breakpoints) 打印的艺术 NSLog 开启僵尸对象(Enable NSZombie Objects) 进击的码农 Console(lldb 命令) Profile(instruments) Xcode视图调试 结语 前言 最近博主临近毕业季…
记录下一些不常用技巧,以防忘记,复制用. 1.获取当前的View在Window的frame: 1 2 UIWindow * window=[[[UIApplication sharedApplication] delegate] window];   CGRect rect=[_myButton convertRect:_myButton.bounds toView:window]; 2.UIImageView 和UILabel 等一些控件,需要加这句才能setCorn 1 _myLabel.l…
iOS的单例模式有两种官方写法,如下: 1)不使用GCD的方式 #import "Manager.h" static Manager *manager; @implementation Manager +(Manager *)defaultManager{ if(!manager) manager=[[self allocWithZone:NULL] init]; return manager; } @end 2)使用GCD的方式 #import "Manager.h&quo…
单例模式用于当一个类只能有一个实例的时候, 通常情况下这个“单例”代表的是某一个物理设备比如打印机,或是某种不可以有多个实例同时存在的虚拟资源或是系统属性比如一个程序的某个引擎或是数据.用单例模式加以控制是非常有必要的. 单例模式需要达到的目的 1. 封装一个共享的资源 2. 提供一个固定的实例创建方法 3. 提供一个标准的实例访问接口 单例模式的创建 简单创建方法: @interface Singleton : NSObject   + (Singleton *) sharedInstance…
对于软件开发而言,调试是必须学会的技能,重要性不言而喻.对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中.不同语言.不同IDE.不同平台的调试,有同性也有个性.今天我们就来学习一下iOS开发中的调试技巧,语言暂用为OC,IDE当然是强大的Xcode.首先说明下,Xcode已经为我们调试项目提供了极大的方便. [1.普通断点] 断点(Breakpoint)绝对是调试程序的第一大选择,也是掌握的基础技能.顾名思义,当程序运行到断点处时会暂…
1. <LLDB调试命令初探> 2. <Xcode LLDB Debug教程> 3. <iOS开发准备篇-(5)Xcode调试技巧_1> 4. <iOS开发准备篇-(5)Xcode调试技巧_2> 5. <iOS开发准备篇-(5)Xcode调试技巧_3> 6. < iOS开发准备篇-(4)Xcode基本操作> 7. <增加Interface Builder高效的工作8温馨提示> 版权声明:本文博主原创文章,博客,未经同意不得…
作者:乞力马扎罗的雪  原文 对于软件开发而言,调试是必须学会的技能,重要性不言而喻.对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中.不同语言.不同IDE.不同平台的调试,有同性也有个性.今天我们就来学习一下iOS开发中的调试技巧,语言暂用为OC,IDE当然是强大的Xcode.首先说明下,Xcode已经为我们调试项目提供了极大的方便. [1.普通断点] 断点(Breakpoint)绝对是调试程序的第一大选择,也是掌握的基础技能.顾名…
百度定义:单例模式是一种常用的软件设计模式.在它的核心结构中只包含一个被称为单例的特殊类.通过单例模式可以保证系统中一个类只有一个实例. 维基百科:在软件工程中,单例是一种用于实现单例的数学概念,即将类的实例化限制成仅一个对象的设计模式. 简单理解:单例模式 是只有有一个实例对象的设计模式 这次 使用 单例 用 gcd 来创建 解释几个关键词 dispatch_once  :这个代码块 在整个应用的生命周期 只执行一次, 并且线程安全(如果被多个线程调用,该函数会同步等待直至代码块完成.gcd的…
微博 Demo 性能优化技巧 我为了演示 YYKit 的功能,实现了微博和 Twitter 的 Demo,并为它们做了不少性能优化,下面就是优化时用到的一些技巧. 预排版 当获取到 API JSON 数据后,我会把每条 Cell 需要的数据都在后台线程计算并封装为一个布局对象 CellLayout.CellLayout 包含所有文本的 CoreText 排版结果.Cell 内部每个控件的高度.Cell 的整体高度.每个 CellLayout 的内存占用并不多,所以当生成后,可以全部缓存到内存,以…
一.屏幕显示图像的原理 首先从过去的 CRT 显示器原理说起.CRT 的电子枪按照上面方式,从上到下一行行扫描,扫描完成后显示器就呈现一帧画面,随后电子枪回到初始位置继续下一次扫描.为了把显示器的显示过程和系统的视频控制器进行同步,显示器(或者其他硬件)会用硬件时钟产生一系列的定时信号.当电子枪换到新的一行,准备进行扫描时,显示器会发出一个水平同步信号(horizonal synchronization),简称 HSync:而当一帧画面绘制完成后,电子枪回复到原位,准备画下一帧前,显示器会发出一…
[iOS开发]tableView-section圆角边框解决方案 tableView圆角边框解决方案 iOS 7之前,图下圆角边框很容易设置 iOS 7之后,tableviewcell的风格不再是圆角了 设置tableView中section圆角边框,需求如下: 找了很多办法都没办法解决. 设置过tableView的边框,但是发现,滑动tableView的时候,其实是里面的content在移动,也就是,向上向下滑,边框并不会动=.=. 可以试着打印tableView的frame,发现frame的…
iOS开发过程中,总有那么一些个小问题让人纠结,它们不会让程序崩溃,但是会让人崩溃.除此之外,还将分享一些细节现在我通过自己的总结以及从其他地方的引用,来总结一下一些常见小问题. 本篇长期更新,多积累,多奉献,同时感谢其中一些文章的作者的整理,感谢! iOS高级开发实战讲解 这是我在网上搜索到的iOS高级开发实战讲解,由于原文不是很方便浏览,所以我在这里整理一部分出来,方便查阅,同时谢谢原作者. 这里我不是每一个都收录进来,这里只是放出一部分,有些用的太多,我就没整理了,大家如果想看可以去看原文…
纵观移动市场,一款移动app,要想长期在移动市场立足,最起码要包含以下几个要素:实用的功能.极强的用户体验.华丽简洁的外观.华丽外观的背后,少不了美工的辛苦设计,但如果开发人员不懂得怎么合理展示这些设计好的图片,将会糟蹋了这些设计,功亏一篑. 比如下面张图片,本来是设计来做按钮背景的: button.png,尺寸为:24x60 现在我们把它用作为按钮背景,按钮尺寸是150x50: 1-(void)viewDidLoad 2{ 3[superviewDidLoad]; 4//得到view的尺寸 5…
iOS相机相册的正确打开方式- UIImagePickerController 通过指定sourceType来实现打开相册还是相机 UIImagePickerControllerSourceTypePhotoLibrary, // 相册库,范围比PhotosAlbum要大 UIImagePickerControllerSourceTypeCamera, // 相机 UIImagePickerControllerSourceTypeSavedPhotosAlbum // 相册 打开之前一定判断设备…
iOS键盘 inputView 和 inputAccessoryView 1.inputAccessoryView UITextFields和UITextViews有一个inputAccessoryView的属性,当你想在键盘上展示一个自定义的view时,你就可以设置该属性.你设置的view就会自动和键盘keyboard一起显示了. 需要注意的是,你所自定义的view既不应该处在其他的视图层里,也不应该成为其他视图的子视图.其实也就是说,你所自定义的view只需要赋给属性inputAccesso…
iOS程序进入后台运行的实现 视频中看到老师用的iOS7,代码中有开启timer,无限请求数据的功能,但是切换到后台,代码就不打印了 自己用的iOS9,进入后台还是可以打印的,再次进入前台也可以正常运行,但是功能不实现了 实现程序后台运行的方法 /** * 程序进入后台后 * * @param application */ - (void)applicationDidEnterBackground:(UIApplication *)application { // 向操作系统申请后台运行的资格,…
单例模式作用 可以保证在程序运行过程中,一个类只有一个实例,而且该实例易于供外界使用 从而方便地控制了实例个数,并节约系统资源 单例模式使用场合 在整个引用程序中,共享一份资源(这份资源只需要创建初始化1次,只分配一次存储空间) 例如:背景音乐,音频调节器等 单例的简单使用 使用单例的目的就是为了要在程序运行过程中,共享一份资源,且这份资源只会初始化一次,只分配一次存储空间,节约系统资源:先来看一下平时我们创建对象时,内存地址的变化情况: ##### 创建对象内存分配地址演示 1.这里用SJTo…
iOS中设置applicationIconBadgeNumber 在iOS7中直接设置applicationIconBadgeNumber没有问题,但是在iOS8之后设置applicationIconBadgeNumber,程序没有反应. 因为在iOS8之后想要设置applicationIconBadgeNumber,需要用户授权,在iOS8中,需要加上下面的代码: UIUserNotificationSettings *settings = [UIUserNotificationSetting…