IOS
zhang31jian
忠实踏实,吃苦耐劳,并能够承担一定的工作压力; 适应能力强,有较强的团队精神,工作积极进取,态度认真,有较强的自学能力.
展开
-
Xcode中git的使用
http://www.cocoachina.com/ios/20140524/8536.html转载 2016-01-27 14:18:05 · 311 阅读 · 0 评论 -
IOS数据存储NSUserDefaults的用法(轻量级本地数据存储) (转)
NSUserDefaults支持的数据类型有:NSNumber(NSInteger、float、double),NSString,NSDate,NSArray,NSDictionary,BOOL.将NSString 对象存储到 NSUserDefaults 中NSString *passWord = @"123456";NSUserDefaults *user = [NSUserD原创 2015-10-15 18:31:17 · 3427 阅读 · 0 评论 -
C语言数据的表现形式
一、常量:整型常量实型常量:十进制小数形式、指数形式字符常量:普通字符、转义字符字符串常量符号常量:#define PI 3.1416 //注意行末没有分号二、变量:从变量中取值,实际上是通过变量名找到对应的内存地址,从该存储单元读取数据。三、常变量const int a=3;常变量与常量的异同:常变量具有变量的基本属性,有类型、占存储单元、原创 2015-10-13 18:07:54 · 2156 阅读 · 0 评论 -
iOS尺寸
原创 2015-09-25 17:09:48 · 286 阅读 · 0 评论 -
Xcode快捷键
1. 文件CMD + N: 新文件CMD + SHIFT + N: 新项目CMD + O: 打开CMD + S: 保存CMD+OPt+S:保存所有文件CMD + SHIFT + S: 另存为CMD + W: 关闭窗口CMD + Q :退出XcodeCMD + SHIFT + W: 关闭文件2. 编辑CMD + [: 左缩进CMD + ]: 右缩进转载 2015-11-12 18:17:58 · 290 阅读 · 0 评论 -
TableView覆盖状态栏
Since we’ve switched over to a plain table view, let’s fix the top edge offset, too, by adding some code to the viewDidLoad method. if (tableView.style == UITableViewStylePlain) {UIEdg原创 2015-11-12 10:58:12 · 4949 阅读 · 0 评论 -
Xcode 6 正式版如何创建一个Empty Application
本文介绍在Xcode 6正式版,如何将一个Single View Application变为你熟悉的Empty Application。此方法对OC、Swift语言开发均适用。1、运行Xcode 6,创建一个Single View Application工程。2、创建好后,把工程目录下的Main.storyboard和LaunchScreen.xib删除,扔进废纸篓。3、打开Info.转载 2015-10-12 16:08:06 · 252 阅读 · 0 评论 -
自定义UITableViewCell
1 这个方法在SDK5.0是运行不起来的。2 如果需要使用这个方法,你必须使用配套的方法来一起用,下面两个配套方法:- (void)registerNib:(UINib *)nib forCellReuseIdentifier:(NSString *)identifier NS_AVAILABLE_IOS(5_0);- (void)registerClass:(Class)cell原创 2015-11-11 18:09:35 · 298 阅读 · 0 评论 -
tableView中deselectRowAtIndexPath的作用
有时导航+UITableView,在push,back回来之后,当前cell仍然是选中的状态。解决办法简单,添加一句[tableView deselectRowAtIndexPath:indexPath animated:YES]即可。有的视图同样回来之后,选中状态消失,为什么会出现这种情况呢?如果UITableView是在UITableViewController中时,就会默认取消,而如原创 2015-11-11 11:00:10 · 3385 阅读 · 0 评论 -
iOS 定时器(NSTimer)的使用
调用一次计时器方法: myTimer = [NSTimer scheduledTimerWithTimeInterval:1.5 target:self selector:@selector(scrollTimer) userInfo:nil repeats:NO]; 重复调用计时器方法:timer = [NSTimer scheduledTimerWithTimeInte原创 2015-11-16 11:33:37 · 1733 阅读 · 0 评论 -
获取UIView坐标和宽高
CGRectGetHeight返回label本身的高度CGRectGetMinY返回label顶部的坐标CGRectGetMaxY 返回label底部的坐标CGRectGetMinX 返回label左边缘的坐标CGRectGetMaxX 返回label右边缘的坐标CGRectGetMidX表示得到一个frame中心点的X坐标CGRectGetMidY表示得到一个frame中原创 2015-11-16 14:42:16 · 3811 阅读 · 0 评论 -
链接
定制iOS 7中的导航栏和状态栏http://beyondvincent.com/2013/11/03/2013-11-03-120-customize-navigation-status-bar-ios-7/iOS 学习资料整理https://github.com/Aufree/trip-to-iOS原创 2016-01-26 17:45:39 · 340 阅读 · 0 评论 -
如何快速正确的安装 Ruby, Rails 运行环境
对于新入门的开发者,如何安装 Ruby, Ruby Gems 和 Rails 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境。次安装方法同样适用于产品环境!系统需求首先确定操作系统环境,不建议在 Windows 上面搞,所以你需要用:Mac OS X 任意 Linux 发行版本(Ubuntu,CentOS, Redha转载 2015-12-25 14:07:15 · 516 阅读 · 0 评论 -
IOS移除NSAssert& NSLog
创建新的Scheme选择New Scheme菜单项,接着会弹出一个对话框,从中选择Target,点击OK按钮就创建成功了,这样就创建好的Scheme。此时再选择Edit Scheme菜单项项编,选择Info标签,将Build Configuration(编译配置)修改为Release。这里说明一下编译配置各个项的含义:Debug是为调试编译而配置的,Release是为发布编译而配置的.原创 2015-12-23 10:08:31 · 1341 阅读 · 0 评论 -
IOS国际化
打开PROJECT->info 添加Localizations国际化语言1、应用名和本地字符数据国际化:新建文件InfoPlist.strings&Localizable.strings。2、图片国际化:打开Localizable.strings (English) ,并添加如下内容:"imageName" = "ilike"; 把以下代码添加至Localiza原创 2015-12-22 10:03:42 · 1016 阅读 · 0 评论 -
导航栏、标签栏、工具栏、状态栏
在iPhone原创 2015-12-16 16:55:03 · 21082 阅读 · 0 评论 -
OC 实例变量的可见度
在oc里面,所有的实例对象默认的可见度是受保护的,protected指的是本类和子类 public(公有的)实例变量可以在类的外部和内部操作protected(受保护的,默认的)实例变量只能在该类和其⼦子类内操作private(私有的)实例对象只能在该类内访问内部,指的是相应类的@implementation 和@end之间OC中的⽅方法分两种:类⽅方法和实例⽅原创 2015-11-30 16:13:41 · 661 阅读 · 0 评论 -
podfile
常用库:pod 'RegexKitLite', '~> 4.0'pod 'AFNetworking' # , '~> 2.4.1' pod 'MBProgressHUD'pod 'SDWebImage', '~> 3.7.1'pod 'Reachability', '~>3.1.1'pod 'ReactiveCocoa', '~> 2.3.1'pod 'EGODat原创 2015-12-30 11:07:14 · 490 阅读 · 0 评论 -
IOS零碎
plist xml格式文件通常用于储存用户设置pch 预编译文件头addSubview 是将view加到所有层的最顶层insertSubView可以控制它添加到父视图的哪一层 makeKeyAndVisible作用被使用对象的主窗口显示到屏幕的最前端。hiddenUIView方法隐藏这个窗口initWithFrame 没用Nib文件(XIB)时,用代码控原创 2015-11-27 17:12:53 · 398 阅读 · 0 评论 -
IOS之UIActionSheet& UIAlertView
一、UIActionSheet UIActionShee用来对指定的事件向用户呈现一系列的操作;也可以用来提示用户确认有些带有危险性的操作;ActionSheet包含一个可选的标题和一个或多个按钮,其中每一个对应于要执行的操作。1、声明代理2、 UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:@"选择操作原创 2015-11-05 16:05:17 · 482 阅读 · 0 评论 -
IOS之NSAttributedString和NSMutableAttributedString
NSAttributedString是一个带有属性的字符串,通过该类可以灵活地操作和呈现多种样式的文字数据。官方的API 为我们提供了UILabel类的attributedText, 使用不同颜色和不同字体的字符串。如果想在iOS6.0以前版本实现这个效果,需要使用到一个第三方库TTTAttributedLabel,同时还有导入CoreText.frame框架.// initWithS原创 2015-11-05 14:36:29 · 786 阅读 · 0 评论 -
IOS之initWithFrame
initWithFrame方法用来根据指定的CGRect(尺寸)初始化并返回一个新的视图对象。我们用编程方式申明,创建UIView对象时,使用initWithFrame方法。两种方式来进行初始化UIView。1.使用 Interface Builder 方式。这种方式,就是使用nib文件。实际编程中,我们如果用Interface Builder 方式创建了UIView对象。那么,i原创 2015-11-05 12:56:41 · 451 阅读 · 0 评论 -
一篇关于IOS适配很好的文章
http://www.cocoachina.com/ios/20150130/11076.html转载 2015-09-25 10:50:37 · 303 阅读 · 0 评论 -
OC 中#pragma mark [-] xxx
第一种用法:分隔线#pragma mark - 该指令将在其所在代码位置,在顶部导航方法和函数导航栏中显示一条分隔线。第一种用法:分组#pragma mark 分组(标识)名称 ,将在相应位置显示分组标识的名称。#import @class Acount;@interface Person :NSObject{@private原创 2015-09-02 18:42:57 · 454 阅读 · 0 评论 -
OC中得Protocol
在写java的时候都会有接口interface这个概念,接口就是一堆方法的声明没有实现,而在OC里面,Interface是一个类的头文件的声明,并不是真正意义上的接口的意思。在OC中,接口是由一个叫做协议的protocol来实现的。这个里面可以声明一些方法,和java不同的是,它可以声明一些必须实现的方法和选择实现的方法。这个和java是完全不同的。protocol是可以协议的。下原创 2015-09-02 17:40:08 · 426 阅读 · 0 评论 -
OC中Blocks
BLOCK是什么?苹果推荐的类型,效率高,在运行中保存代码。用来封装和保存代码,有点像函数,BLOCK可以在任何时候执行。BOLCK和函数的相似性:(1)可以保存代码(2)有返回值(3)有形参(4)调用方式一样。1.声明一个Block int (^myBlock) (int) = ^(int num){ return num * num; }转载 2015-09-02 18:12:22 · 283 阅读 · 0 评论 -
Object-C中的Category
Object-C中的Category其实是一种对于类的方法的扩充,有些类似于类的继承,但是和继承还是不一样的。在不修改原有的类的基础上增加新的方法一个庞大的类可以分模块开发一个庞大的类可以由多个人来编写,更有利于团队合作Person+Stone.h#import "Person.h" @interface Person (Stone)//Person分类类型 Stone原创 2015-09-02 16:47:13 · 296 阅读 · 0 评论 -
int,NSInteger,NSUInteger,NSNumber
1.当需要使用int类型的变量的时候,可以像写C的程序一样,用int,也可以用NSInteger,但更推荐使用NSInteger,因为这样就不用考虑设备是32位的还是64位的。2.NSUInteger是无符号的,即没有负数,NSInteger是有符号的。3.有人说既然都有了NSInteger等这些基础类型了为什么还要有NSNumber?它们的功能当然是不同的。 NSInteger是基础原创 2015-09-08 22:47:36 · 261 阅读 · 0 评论 -
OC内存规范
1、代码规范:(一)只要调用了alloc,就必须有release(autorelease)(二)Set方法的代码规范(1)基本数据类型:直接复制-(void)setAge:(int)age{_age=age;}(2)OC对象类型-(void)setCar:(Car *)car{//1.先判断是不是新传进来的对象If(car!=_car){//转载 2015-09-02 16:15:57 · 274 阅读 · 0 评论 -
OC内存管理
因为对象和其他数据类型在系统中的存储空间不一样,其它局部变量主要存放于栈中,而对象存储于堆中,当代码块结束时这个代码块中涉及的所有局部变量会被回收,指向对象的指针也被回收,此时对象已经没有指针指向,但依然存在于内存中,造成内存泄露。管理范围:任何继承NSObject的对象,对其他的基本数据类型无效。每个OC对象都有自己的引用计数器,是一个整数表示对象被引用的次数,即现在有多少东西在使用这个原创 2015-09-02 16:06:44 · 302 阅读 · 0 评论 -
关于Retina技术&分辨率
所谓“Retina”是一种显示技术,可以将把更多的像素点压缩至一块屏幕里,从而达到更高的分辨率并提高屏幕显示的细腻程度。由摩托罗拉公司研发。最初该技术是用于Moto Aura上。这种分辨率在正常观看距离下足以使人肉眼无法分辨其中的单独像素。也被称为视网膜显示屏。工作方式编辑以MacBook Pro with Retina Display为例,工作时显卡渲染出2880x1800个像素,其中每原创 2015-09-25 10:09:20 · 864 阅读 · 0 评论 -
iPhone6 iPhone6 Plus 屏幕分辨率、尺寸的问题
不同设备的参数:PPI:转载 2015-09-25 10:14:22 · 316 阅读 · 0 评论 -
iOS多线程编程NSOperation和NSOperationQueue的使用
使用 NSOperation的方式有两种,一种是用定义好的两个子类:NSInvocationOperation 和 NSBlockOperation。另一种是继承NSOperation如果你也熟悉Java,NSOperation就和java.lang.Runnable接口很相似。和Java的Runnable一样,NSOperation也是设计用来扩展的,只需继承重写NSOperat转载 2015-10-19 17:07:43 · 323 阅读 · 0 评论 -
iOS中实现多线程的方法
第一种,NSThread是一个控制线程执行的对象,它不如NSOperation抽象,通过它我们可以方便的得到一个线程,并控制它。但NSThread的线程之间的并发控制,是需要我们自己来控制的,可以通过NSCondition实现。优点:NSThread 比其他两个轻量级缺点:需要自己管理线程的生命周期,线程同步。线程同步对数据的加锁会有一定的系统开销NSThread实现的技术有下面三种:翻译 2015-10-19 15:20:02 · 442 阅读 · 0 评论 -
NSThread的使用
- (id)initWithTarget:(id)target selector:(SEL)selector object:(id)argument+ (void)detachNewThreadSelector:(SEL)aSelector toTarget:(id)aTarget withObject:(id)anArgument第一个是实例方法,第二个是类方法1、[NSThread转载 2015-10-19 15:44:50 · 390 阅读 · 0 评论 -
iOS多线程编程GCD介绍和使用
介绍:Grand Central Dispatch 简称(GCD)是苹果公司开发的技术,以优化的应用程序支持多核心处理器和其他的对称多处理系统的系统。这建立在任务并行执行的线程池模式的基础上的。它首次发布在Mac OS X 10.6 ,iOS 4及以上也可用。设计:GCD的工作原理是:让程序平行排队的特定任务,根据可用的处理资源,安排他们在任何可用的处理器核心上执行任务。一个任务可转载 2015-10-19 17:39:41 · 306 阅读 · 0 评论 -
iOS多线程编程之NSOperation和NSOperationQueue的使用
使用 NSOperation的方式有两种,一种是用定义好的两个子类:NSInvocationOperation 和 NSBlockOperation。另一种是继承NSOperation如果你也熟悉Java,NSOperation就和java.lang.Runnable接口很相似。和Java的Runnable一样,NSOperation也是设计用来扩展的,只需继承重写NSOperat转载 2015-10-19 17:02:58 · 268 阅读 · 0 评论 -
OC中类变量的@protected,@private,@public,@package区别
@protected 该类和所有子类中的方法可以直接访问这样的变量。@private 该类中的方法可以访问,子类不可以访问。@public 可以被所有的类访问@package 本包内使用,跨包不可以原创 2015-10-19 14:41:00 · 8109 阅读 · 0 评论 -
OC中内存管理机制
OC中内存管理机制应该就是引用计数的增减吧,retainCount为0时释放该内存。retain对应的是release,内存的释放用release。alloc对应的是dealloc,内存的销毁用dealloc。readwrite此标记说明属性会被当成读写的,这也是默认属性。readonly此标记说明属性只可以读,也就是不能设置,可以获取。assign不会使引用计数加1,也就是直原创 2015-10-19 14:37:26 · 435 阅读 · 0 评论 -
iOS view 之 frame 和 bounds
// animatable. do not use frame if view is transformed since it will not correctly reflect the actual location of the view. use bounds + center instead.@property(nonatomic)CGRect frame;原创 2015-09-29 18:08:12 · 272 阅读 · 0 评论