iOS常用方法】的更多相关文章

1.磁盘总空间大小 + (CGFloat)diskOfAllSizeMBytes {     CGFloat size = 0.0;     NSError *error;     NSDictionary *dic = [[NSFileManager defaultManager] attributesOfFileSystemForPath:NSHomeDirectory() error:&error];     if (error) { #ifdef DEBUG         NSLog(…
Navigator和NavigatorIOS 在开发中,需要实现多个界面的切换,这时候就需要一个导航控制器来进行各种效果的切换.在React Native中RN为我们提供了两个组件:Navigator和NavigatorIOS. 关于Navigator的介绍请查看之前的介绍文章:http://blog.csdn.net/xiangzhihong8/article/details/52624367 在使用Navigator导航器的时候需要重点掌握Navigator的几个方法: getCurrent…
BOBUtils 工具大全 本人github开源和收集功能地址:https://github.com/niexiaobo [对ios新手或者工作一年以内开发人员很有用处] 常用方法等收集.添加扩展类.工具类方法.请求方法封装(包括图片上传等)等等 拥有很多方便快捷功能 ^_^ 用法: 只需要导入BOBsKit.h 头文件就行 // #import "BOBsKit.h" 依赖三方库: pod 'SDWebImage', '~> 3.7.5' pod 'MBProgressHUD'…
1. 用ARC管理内存 ARC(Automatic ReferenceCounting, 自动引用计数)和iOS5一起发布,它避免了最常见的也就是经常是由于我们忘记释放内存所造成的内存泄露.它自动为你管理retain和release的过程,所以你就不必去手动干预了.忘掉代码段结尾的release简直像记得吃饭一样简单.而ARC会自动在底层为你做这些工作.除了帮你避免内存泄露,ARC还可以帮你提高性能,它能保证释放掉不再需要的对象的内存. 2. 在正确的地方使用 reuseIdentifier 一…
在iOS开发中常用的参数传递有以下几种方法: 采用代理模式 采用iOS消息机制 通过NSDefault存储(或者文件.数据库存储等) 通过AppDelegate定义全局变量(或者使用UIApplication.定义一个单例类等) 通过控制器属性传递 使用代理的步骤:代理模式实际上是回调 1)A声明遵循代理协议的代理 id<xxxprotocal>delegate 2)并直接使用代理,调用代理方法_delegate.method(params),并将传递方法所需的参数值. 3)在B中声明协议 @…
UIView常用方法 addSubView: // 添加子视图 insertSubview: atIndex // 视图插入到指定索引位置 insertSubview:aboveSubview: // 视图插入指定视图之上 insertSubview:belowSubview: // 视图插入指定视图之下 bringSubviewToFront: // 把视图移动到最顶层 sendSubviewToBack: // 把视图移动到最底层 exchangeSubviewAtIndex:withSub…
锁的用法在iOS中有几种方法来解决多线程访问同一个内存地址的互斥同步问题: 方法一,@synchronized(id anObject),(最简单的方法)会自动对参数对象加锁,保证临界区内的代码线程安全 @synchronized(self) { // 这段代码对其他 @synchronized(self) 都是互斥的 // self 指向同一个对象 } 方法二,NSLockNSLock对象实现了NSLocking protocol,包含几个方法:lock,加锁unlock,解锁tryLock,…
1. 用ARC管理内存 ARC(Automatic ReferenceCounting, 自动引用计数)和iOS5一起发布,它避免了最常见的也就是经常是由于我们忘记释放内存所造成的内存泄露.它自动为你管理retain和release的过程,所以你就不必去手动干预了.忘掉代码段结尾的release简直像记得吃饭一样简单.而ARC会自动在底层为你做这些工作.除了帮你避免内存泄露,ARC还可以帮你提高性能,它能保证释放掉不再需要的对象的内存. 2. 在正确的地方使用 reuseIdentifier 一…
一.创建一个列表,不管代码还是nib拖拉,在nib创建的时候,记得加他的二个代理 (UITableViewDelegate UITableViewDataSource) 代码创建的话,需要关联他的代理,nib创建则不需要关联,他自动会关联...代码创建关联的方法为 LXDataTable = [[UITableView alloc] initWithFrame:CGRectMake(, , , )]; [LXDataTable setDelegate:self]; [LXDataTable se…
UIView的drawRect方法 CoreGraphics绘图 综述:描述系统会调用UIView的drawRect方法,所以coreGraphics的所有实现代码放在该函数内,setNeedsDisplay是更新整个视图,setNeedsDisplayInRect是更新视图的一个区域. CGContextRef context = UIGraphicsGetCurrentContext();设置上下文 CGContextMoveToPoint 开始画线 CGContextAddLineToPo…
上篇说到了UITextField,我们先来说说UITextView和UITextField的不同: UITextView支持多行输入; UITextFiled只支持单行; UITextView没有placeholder属性; UITextField有placeholder属性 UITextview继承自UIScrollerView; UITextField继承自UIView 下面来说UITextField的使用及技巧: 一.新建一个textView //初始化 textView = [[UITe…
ABAddressBookRef addressBook = ABAddressBookCreate(); CFArrayRef results = ABAddressBookCopyArrayOfAllPeople(addressBook); for(int i = 0; i < CFArrayGetCount(results); i++) { ABRecordRef person = CFArrayGetValueAtIndex(results, i); //读取firstname NSSt…
// 1.创建一个自定义的按钮 UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; // 2.添加按钮 [self.view addSubview:btn]; // 3.设置按钮的位置和尺寸 btn.frame = CGRectMake(100, 100, 100, 100); // 4.监听按钮点击(点击按钮后就会调用self的btnClick方法) [btn addTarget:self action:@selector…
/** * 指定Size压缩图片 (图片会压缩变形) * * @param image 原图 * @param size 压缩size * * @return 压缩后的图片 */ -(UIImage*)OriginImage:(UIImage *)image scaleToSize:(CGSize)size { // 创建一个bitmap的context // 并把它设置成为当前正在使用的context UIGraphicsBeginImageContext(size); // 绘制改变大小的图…
在调用视图的 Quartz  调用都可以正确地在视图中描画.   视图对象通过 bounds .和 center  属 性声明来跟踪自己的大小和位置.frame 属性包含一个矩形,即边框矩形,用于指定视图相对于其父视图坐标系统的位置和大小.bounds 属性也包含一个矩形,即边界矩形,负责定义视图相对于本地坐标系统的位置和大小.虽然边界矩形的原点通常被设置为(0, 0),但这并不是必须的.center 属性包含边框矩形的中心点.   当您在代码中通过 initWithFrame :方法创建一个视…
//第一种方法:最常用的方法,但是性能最差 UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)]; imageView.image = [UIImage imageNamed:@"晚起的蚂蚁.jpg"]; //只需要设置layer层的两个属性 //设置圆角 imageView.layer.cornerRadius = imageView.frame.size.…
一.字符串创建 1. NSString *str1 = [NSString new]; 2. NSString *str2 = @"字符串内容"; 二.字符串拼接 1. NSString *str3 = [NSString stringWithFormat:@"%@",str2]; 2.字符串比较:isEqualToString 比较两个字符串内容是不是相等: 三.字符串的比较 - (NSComparisonResult)compare:(NSString *)st…
UITableView常用来展示数据,类似于Android中的ListView,相对于Android中的ListView而言,UITableView的实现是非常简单,继承UITableViewDataSource,UITableViewDelegate然后根据需要是实现对应的方法即可. UITableView有两个默认的内置风格,Plain和Grouped,Plain表明表格视图自身没有真正地在你自己实际地提供任何外观之前提供很多的外观,大部分情况下,它会做的唯一的事情是它会给你这些header…
// 当应用程序启动完毕的时候就会调用(系统自动调用) - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. NSLog(@"didFinishLaunchingWithOptions"); ret…
关于runtime的学习网上有很多博客,在学习之前也查过很多资料,觉得南峰子老师博客中对 runtime 的讲解挺详细的,博客地址:http://southpeak.github.io/categories/objectivec/ 想要学习的可以去认真的看看. 1.runtime动态创建一个类,添加成员变量,添加方法 // 自定义一个方法 void sayFunction(id self, SEL _cmd, id some) { NSLog(@"%@岁的%@说:%@", object…
使用的自定义类,如下: #import <Foundation/Foundation.h> @interface Person : NSObject @property(nonatomic,copy) NSString *name; @property(nonatomic,copy) NSString *sex; -(NSString *)sayName; -(NSString *)saySex; @end 动态变量控制 - (void)viewDidLoad { [super viewDid…
一直想写篇关于RAC的文章,一是分享二是做为笔记,由于项目忙先简单的贴一个自己当初学习的时候代码吧 一.RACCommand // RACCommand 的使用: 使用场景,监听按钮点击,网络请求 - (void)RACCommand{ // 1.创建命令 RACCommand *command = [[RACCommand alloc] initWithSignalBlock:^RACSignal *(id input) { NSLog(@"执行命令"); // 创建空信号,必须返回…
一.初始化方法 - (instancetype)initWithTitle:(NSString *)title message:(NSString*)message delegate:(id /*<UIAlertViewDelegate>*/)delegate cancelButtonTitle:(NSString *)cancelButtonTitle otherButtonTitles:(NSString *)otherButtonTitles, ...; 这个方法通过设置一个标题,内容,…
1.    [XCUIElement exists]方法只能确定这个View是否存在,即使不在当前屏幕上也返回True.如果要确定View是否在屏幕可见范围内,可以判断其Frame是否在Window的Frame内. XCUIElement *window = [app.windows elementBoundByIndex:0];      if (CGRectContainsRect([window frame], [cell frame])) {          [cell tap];  …
Quartz 2D基本介绍 Quartz 2D是一个二维绘图引擎 能够,绘制图形 : 线条\三角形\矩形\圆\弧等,绘制文字,绘制\生成图片(图像),读取\生成PDF,截图\裁剪图片,自定义UI控件(最为重要)等, 利用Quartz2D自定义view(自定义UI控件)的步骤 1:新建一个类,继承自UIView 2:实现- (void)drawRect:(CGRect)rect方法(系统会自动调用),然后在这个方法中: 1:取得跟当前view相关联的图形上下文 2:绘制相应的图形内容 3:利用图形…
本文介绍了OC的数组对象的基本方法的使用: 因为OC的数组中存储的为对象类型,所以我们可以新建一个Person类,通过Person生成对象进行操作. 其中Person.h中的代码为: [objc] view plain copy #import @interface Person : NSObject { NSString *_name; //姓名 NSString *_sex; //性别 NSInteger _age; //年龄 } - (NSInteger)age; - (id)initWi…
NSNotification 常用的几个方法,代码如下: // 发送通知 [[NSNotificationCenter defaultCenter] postNotificationName:@"broadcastName" object:nil]; // 接收通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(doSomething:) name:@"broadcastNa…
iOS路径沙盒文件管理,看到博主总结的很好,转载过来,原文:http://www.aichengxu.com/view/35264 一.iOS中的沙盒机制 iOS应用程序只能对自己创建的文件系统读取文件,这个独立.封闭.安全的空间,叫做沙盒.它一般存放着程序包文件(可执行文件).图片.音频.视频.plist文件.sqlite数据库以及其他文件. 每个应用程序都有自己的独立的存储空间(沙盒) 一般来说应用程序之间是不可以互相访问 模拟器沙盒的位置 /User/userName/Library/Ap…