Object-C
文章平均质量分 56
cduter
这个作者很懒,什么都没留下…
展开
-
OC内存管理
OC内存管理一、基本原理(一)为什么要进行内存管理。由于移动设备的内存极其有限,所以每个APP所占的内存也是有限制的,当app所占用的内存较多时,系统就会发出内存警告,这时需要回收一些不需要再继续使用的内存空间,比如回收一些不再使用的对象和变量等。管理范围:任何继承NSObject的对象,对其他的基本数据类型无效。本质原因是因为对象和其他数据类型在系统中的存储空间不一样,其它局转载 2015-08-25 09:20:55 · 348 阅读 · 0 评论 -
触摸和手势
//// ViewController.m// UITouchTEST//// Created by 肖鹏 on 16/7/21.// Copyright © 2016年 xiaopeng. All rights reserved.//#import "ViewController.h"@inter原创 2016-07-22 09:08:30 · 281 阅读 · 0 评论 -
XCode在Storyboard中设置视图的圆角等属性
原文出处:http://www.jianshu.com/p/068d6f493547转载 2016-08-04 11:37:49 · 519 阅读 · 0 评论 -
UIImage图片模式
typedef NS_ENUM(NSInteger, UIViewContentMode) { UIViewContentModeScaleToFill,//根据视图比例拉伸图片 UIViewContentModeScaleAspectFit,//保持宽高比来适应视图 UIViewContentModeScaleAspectFill,//以最小边完全显示填原创 2016-08-05 14:48:29 · 297 阅读 · 0 评论 -
UITabBarController和UINavigationController搭配使用
self.window = [[UIWindowalloc]initWithFrame:[UIScreenmainScreen].bounds]; ViewController *vc = [[ViewControlleralloc]init]; UINavigationController *nvc = [[UINavigationCont原创 2016-08-05 14:52:56 · 313 阅读 · 0 评论 -
UINavigationController设置返回按钮
UINavigationController 当A界面push到B界面,B界面push到C界面时。如果要在C界面设置返回B界面的返回按钮,常用的方法是在B界面配置C界面显示的返回按钮。 UIBarButtonItem *backItem = [[UIBarButtonItemalloc]initWithTitle:@"返回"style:UIBarButtonI原创 2016-08-02 14:24:08 · 5743 阅读 · 0 评论 -
NSData与UIImage互转
//NSData转换为UIImageNSData *imageData = [NSData dataWithContentsOfFile: imagePath];UIImage *image = [UIImage imageWithData: imageData];//UIImage转换为NSDataNSData *imageData = UIImagePNGReprese原创 2016-08-18 10:11:35 · 312 阅读 · 0 评论 -
iOS程序运行沙盒的路径详解
//// main.m// iOS程序运行沙盒的路径///* 1)沙盒的基本概念和作用 每个ios应用都有自己的应用沙盒,应用沙盒就是文件系统目录,与其他应用的文件系统隔 离,ios系统不允许访问其他应用的应用沙盒。在iOS8中已经开放访问(extension)。 2)扩展阅读: extension是iOS8新开放的一种对几个固定系统区域的扩展机制,它可以在一定原创 2016-08-18 10:17:56 · 1780 阅读 · 0 评论 -
定位和地理编码
--------------------------------------------------------CLLocationManager 定位管理者CLLocation 代表位置(经度/纬度/高度/速度/路线等)CLHeading 代表移动方向CLRegion 代表一个区域>CLCircularRegion 圆形区域>C原创 2016-09-12 12:28:01 · 848 阅读 · 0 评论 -
地图与定位
//-------------------------------------------//#pragma mark - 定位实现//导入头文件#import //创建定位管理中心属性,并懒加载初始化和设置代理@property (nonatomic,strong) CLLocationManager *manager;原创 2016-09-12 12:31:20 · 385 阅读 · 0 评论 -
tableView的Cell调整imageView的大小
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"CellIdentifier"];原创 2016-08-24 16:32:23 · 3253 阅读 · 0 评论 -
iOS中时间与字符串互转
先上代码//转换时间 NSString *timeString = @"Fri Jul 29 07:56:44 +0800 2016"; NSDateFormatter *formate = [[NSDateFormatter alloc]init]; [formate setDateFormat:@"EEE MMM dd HH:mm:ss Z yyyy"];原创 2016-09-04 01:25:32 · 455 阅读 · 0 评论 -
UIScrollView的循环滚动+UIPageControll+NSTimer实现的自动循环滚动播放最终完善版
//项目源码 :http://download.csdn.net/detail/xiaopeng5130301994/9590075原创 2016-07-29 19:15:53 · 1497 阅读 · 1 评论 -
collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath 方法不调用
程序运行死活没效果,后来断点发现 -(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath 没有调用。解决方法: self.automaticallyAdjustsScrollViewI原创 2016-09-07 01:20:42 · 8841 阅读 · 0 评论 -
plist文件的创建与读取
#pragma mark -- 写入文件 NSArray *array =@[@1,@2,@3,@4,@5]; [array writeToFile:@"/Users/xiaopeng/Desktop/BAK/info.plist"atomically:YES]; NSArray *are原创 2016-07-21 14:31:42 · 750 阅读 · 0 评论 -
NSUserDefaults
//1、创建UD对象单例 NSUserDefaults *ud = [NSUserDefaultsstandardUserDefaults];//获取UD对象 //2、获取指定信息 NSString *username = [udobjectForKey:@"username"]; if(username){原创 2016-07-21 13:58:28 · 203 阅读 · 0 评论 -
@property
//三大类参数//1.线程相关的//atomic:原子访问,多个线程之间不可同时访问,线程安全的,效率不高//nonatomic:非原子访问,线程不安全,效率高(一般使用它)//@property (修饰属性的参数1,修饰属性的参数2,修饰属性的参数3)变量类型 变量名;//2.内存管理相关//retain:修饰对象类型//copy:也是对象类型//as原创 2015-08-25 10:33:15 · 355 阅读 · 0 评论 -
OC 正则验证电话号码和邮箱
-(BOOL)isValidatePhoneNumber{ NSString *phoneRegex = @"^1[3,5,8][0-9]{9}$"; NSPredicate *phoneTest = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@", phoneRegex];原创 2015-08-27 14:55:16 · 812 阅读 · 0 评论 -
OC 如何实现MD5加密
新建工程control+N 选择Objective-C File -----> NEXTFile Type选择Category class选择 NSString 取名为:MD5 ------->打开生成的 NSString+MD5.h 文件在 NSString+MD5.h 添加 -(NSString *)StringToMD5;原创 2015-08-28 17:17:58 · 805 阅读 · 0 评论 -
【OC 第3课】NSString ,NSMutableString用法以及一些常用方法
结构体 CGFloat NSPoint point = NSMakePoint(10,10);//声明初始化一个点 NSRect rect = NSMakeRect(0,0, 100,100);//矩形区域 NSSize size = NSMakeSize(100,100);//尺寸 NSRange ran原创 2015-08-19 11:10:35 · 316 阅读 · 0 评论 -
iOS - 汉字转拼音并截取首字母返回
- (NSString *)characterToPhoneticize:(NSString *)character{ CFStringRef strRef = (__bridgeCFStringRef)character; CFMutableStringRef string = CFStringCreateMutableCopy(NULL,0, strRe原创 2015-09-17 15:53:30 · 461 阅读 · 0 评论 -
UIView动画
[UIViewbeginAnimations:@"test"context:nil]; [UIViewsetAnimationRepeatAutoreverses:YES]; [UIViewsetAnimationRepeatCount:10]; [UIViewsetAnimationDuration:2]; _imageview.a原创 2015-09-22 15:53:00 · 283 阅读 · 0 评论 -
简单的UIScrollView循环滑动
//// ViewController.m// UIScrollView循环播放效果//// Created by xp on 16/7/27.// Copyright © 2016年 xiaopeng. All rights reserved.//#import "ViewController.h"i原创 2016-07-27 18:59:31 · 255 阅读 · 0 评论 -
UIScrollView的循环滚动+UIPageControll
//// ViewController.m// UIScrollView循环播放效果//// Created by on 16/7/27.// Copyright © 2016年 xiaopeng. All rights reserved.//#import "ViewController.h"int原创 2016-07-28 10:23:54 · 277 阅读 · 0 评论 -
自动释放池
//创建 NSAutoreleasePool *pool = [[NSAutoreleasePoolalloc]init]; Dog *d1 = [[Dogalloc]init]; Dog *d2 = [d1retain]; Dog *d3 = [d1retain]; NSLog(@"%ld",d原创 2016-07-19 13:47:56 · 214 阅读 · 0 评论 -
UITableViewCell重用机制
//常用重用方式 CustomCell *cell = [tableViewdequeueReusableCellWithIdentifier:CellIdentifier];// 注册原型Cell后下面方法将不会执行 if(!cell){ cell = [[CustomCellalloc]initWithStyle:UI原创 2016-08-15 19:04:05 · 258 阅读 · 0 评论 -
UITableView的编辑模式
#pragma mark -- 设置Cell移动模式-(BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath{ returnYES;}-(void)tableView:(UITableView *)tableV原创 2016-08-15 14:05:13 · 347 阅读 · 0 评论 -
单例
//单例模式//指一个类只能有一个对象,而且这个对象不能被销毁//1、创建一个静态的本类指针给其赋值为nil;static Sun* sharedSun =nil;//2、编写一个工厂方法,根据sharedSun是否为空进行创建或者直接返回;如果为nil,用该指针指向一个新对象,然后返回,否则直接返回;+(instancety原创 2016-07-21 10:25:05 · 182 阅读 · 0 评论 -
代码块block
格式 返回值类型(^代码块名)(参数列表) = ^(参数列表){} void(^block1)()=^(){ NSLog(@"这是一个代码块"); }; block1();//代码块是一个变量,必须调用才会执行代码块里面的代码 //编写一个代码块,让它返回一个0原创 2016-07-21 13:42:48 · 307 阅读 · 0 评论 -
获取跟控制器rootViewController
UIViewController *rootVC = [UIApplicationsharedApplication].keyWindow.rootViewController;原创 2017-07-24 19:13:53 · 505 阅读 · 0 评论