自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

邹贤的博客

天道酬勤 持之以恒

  • 博客(52)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 获取设备 AirPods、Apple TV、Apple Watch、HomePod、iPad、iPad Air、iPad Pro、iPad mini、iPhone、iPod touch的型号

获取设备平台 AirPods、Apple TV、Apple Watch、HomePod、iPad、iPad Air、iPad Pro、iPad mini、iPhone、iPod touch+ (NSString *)devicePlatForm{ struct utsname systemInfo; uname(&systemInfo); NSString *platform = [NSString stringWithCString:systemInf

2021-02-05 15:29:11 1066 2

原创 模态出来报错:Application tried to present modally an active controller

在presentViewController控制器的时候加上判断presentViewController是否为nil即可。if (self.presentedViewController == nil) { [self presentViewController: imagePickerController

2016-03-16 14:20:31 7221 1

原创 iOS开发 检测字符串是否是空字符串

- (BOOL)isBlankString:(NSString *)string { if (string == nil || string == NULL) { return YES; } if ([string isKindOfClass:[NSNull class]]) {

2015-10-15 21:59:17 450

原创 iOS软件开发 快速将p12文件转pem

openssl pkcs12 -inCertificates.p12-out Certificates.pem-nodes //inCertificates.p12 导出的p12文件 Certificates.pem 生成的pem文件

2015-10-12 17:55:15 445

原创 iOS软件开发 如何做一个选择器

由于苹果没有提供创建选择器的类,所以自己做了一个选择器,主要是通过UIButton来实现,希望可以帮助大家,如果有不好的地方希望能给我提出来。下面是我选择器实现的方法#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad

2015-10-06 15:50:54 505

原创 iOS软件开发 Core Data的使用

一、概念1.Core Data 是数据持久化的一种方式2.数据最终的存储类型可以是以下几种:3.好处:能够合理管理内存,避免使用sql的麻烦,高效4.构成:(1)NSManagedObjectContext(被管理的数据上下文)操作实际内容(操作持久层)作用:插入数据,查询数据,删除数据(2)NSManagedObjectModel(被管理的数据模型)作

2015-10-05 21:17:32 355

原创 ios软件开发 解决删除cell视图遮挡删除按钮的问题

今天在项目中遇到一个问题,就是删除自定义cell时,cell下面的删除按钮视图被遮挡的了。如果是向左滑动删除视图没有任何影响,如果是通过下面的方法则会出现遮挡的问题- (void)setEditing:(BOOL)editing animated:(BOOL)animated;解决办法:在自定义cell类中添加如下代码即可解决遮挡的问题- (void)layou

2015-10-03 21:27:55 413

转载 Mac下svn command命令

转载:Mac下svn command命令svn help command  获取子命令说明svn info $URL 查看工作空间信息svn list   显示当前目录下svn记录文件列表,不访问版本库svn list $URL 不下载到本地查看目录中的文件svn log 5:19 查看版本5到19的历史信息svn log      查看当前目录的历史修改信息svn l

2015-10-01 21:03:31 366

原创 iOS软件开发 类目延展协议的使用

1、类目 类目(Category)的基本概念 封装是面向对象的一个特征,OC也不意外,但是有的时候我们会碰到这样一种情况,比如我封装了一个类,不想再动它了,可是随着程序功能的增加,需要在那个类中增加一个小小的方法,这时我们就不必在那个类中做修改或者在定义一个子类,只需要在用到那个方法时随手添加一个该类的类别(category)即可 (1)在类目定义的方法,会成为原始类的一部分,

2015-10-01 20:26:20 432

原创 iOS软件开发 内存管理之拷贝

1、copy与retain的区别: copy 是创造一个新的对象 而retain只是让对象的引用计数+1 copy出来的新对象 不会依赖旧的对象 retain 改变对象 示例: NSMutableString *string = [NSMutableString stringWithString:@"1111"]; // [string retain]; //

2015-09-30 21:47:57 403

原创 ios软件开发 NSDate

1、NSDate 时间格式 2、NSTimeInterval 时间间隔 3、NSDateFormatter 时间格式器 用于日期对象的格式化或者字符串解析为日期对象 时间格式 NSDate1、获取GMT时间NSDate *date = [NSDate date]; 2、时间间隔 NSTimeInterval3、通过时间间隔  获取将来时间

2015-09-30 20:33:20 314

原创 iOS软件开发 数据存储之SQLite3

一、什么是SQLite1、SQLite是一款轻型的嵌入式数据库2、它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了3、它的处理速度比Mysql、PostgreSQL这两款著名的数据库都还快二、什么是数据库1、数据库(Database)是按照数据结构来组织、存储和管理数据的仓库2、数据库可以分为2大种类3、关系型数据库(主流)4、对象型数据库

2015-09-30 17:44:19 362

原创 ios软件开发 json格式字符串转字典,字典转json格式字符串

json格式字符串转字典,字典转json格式字符串/** * 把json格式字符串转字典 * * @param jsonString JSON格式的字符串 * * @return 返回字典 */+ (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString { if (jsonString

2015-09-30 14:55:52 446

原创 iOS软件开发 设置UITextView输入内容位置从左上角开始

昨天在使用UITextView时,发现输入起始位置不在左上角,而是从中间开始,所以研究了一下,发现只要加上下面一行代码即可搞定。self.automaticallyAdjustsScrollViewInsets=NO;

2015-09-22 08:54:10 3062

原创 ios软件开发 设置cell之间的间距

这两天在项目中遇到一个问题,就是需要将cell之间留出一点间距,一般我们在创建出cell都会有分割线加以区分,所以自己想了一下cell之间的间距如何实现。cell之间的间距实现方法我想到的有两种,首先来说第一种:一、利用UITableCell的UILayer里面的borderWidth属性来设置cell之间的间距。代码实现如下#import "ViewController.h"@int

2015-09-20 12:38:05 1198

原创 iOS软件开发 错误集之不能使用CGRect和CGFloat解决办法

今天学习根据内容高度来调整cell的高发现在继承NSObject中不能使用CGRect和CGFloat,后来查阅了一下资料,原来是XCode在6.0版本以前会将UIKit框架一起导入,XCode6.0以后的版本都只导入了Foundation框架,所以只需要导入UIKit框架即可使用CGRect和CGFloat

2015-09-19 12:32:50 1972

原创 iOS软件开发 设置启动页面

设置启动页面只需要两步即可完成第一步:将需要作为启动页面的图面按照要求将尺寸设置好,尺寸要求我已经直接在截图上写明白,命名方式需要严格按照苹果官方提供的命名方式,否则会出现错误。注意:图片格式一定要是.png格式的,否则设置好没有图片第二步:打开targets,就是左边最上面那个。进去之后选择General,找到App Icons and Launch Images选择

2015-09-16 14:18:44 624

原创 iOS软件开发 设置cell动画效果

通过下面的代码可以实现UITableCell的动画实现,只需要在有表格视图的地方加上下面的代码即可。前提是创建的cell显示数要大于屏幕显示数- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{

2015-09-15 20:36:48 504

原创 iOS软件开发 设置启动页面时间

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. //实质就是线程睡眠

2015-09-15 20:27:49 427

原创 iOS软件开发 获取相册图片或照相

从相册获取相片或者照相需要实现UIImagePickerControllerDelegate, UINavigationControllerDelegate这两个协议,下面是具体的实现方法- (void)addImage{ UIActionSheet *actionsheet = [[UIActionSheet alloc] initWithTitle:nil de

2015-09-13 21:58:57 502

原创 iOS软件开发 裁剪图片

- (UIImage *)image:(UIImage*)image byScalingToSize:(CGSize)targetSize { UIImage *sourceImage = image; UIImage *newImage = nil; UIGraphicsBeginImageContext(targetSize); CGRect

2015-09-11 20:38:33 424

原创 iOS软件开发之在UIScrollView上添加手势不能触发解决办法

//在UIScrollView上添加手势不能触发解决办法//在工程中创建一个UIScrollView类别即可解决问题@implementation UIScrollView (UITouch)- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { [[self nextResponder] touches

2015-09-03 14:24:26 2071

原创 ios软件开发 获取手势点击视图的tag

代码实现如下:- (void)viewDidLoad { [super viewDidLoad]; for (int i = 0; i < 3; i ++) { UIView *view = [[UIView alloc] initWithFrame:CGRectMake(20 + (100 + 17) * i, 100, 100, 50)];

2015-09-02 17:12:39 640

原创 iOS学习总结之多线程编程NSOperation & NSOperationQueue

1、NSOperationQueue(操作队列)是由GCD提供的队列模型的Cocoa抽象,是一套Objective-C的API2、GCD提供了更加底层的控制,而操作队列则在GCD之上实现了一些方便的功能,这些功能对于开发者而言通常是最好最安全的选择队列及操作NSOperationQueue有两种不同类型的队列:主队列和自定义队列1、主队列运行在主线程上2、自定义队列在后台执行

2015-09-02 08:59:20 354

原创 iOS学习总结之导航控制器

一、初始化  ViewController *viewController = [[ViewController alloc]init];//    导航控制器初始化  设置导航控制器的第一个页面    UINavigationController *nv = [[UINavigationController alloc]initWithRootViewController:viewC

2015-09-01 14:06:12 289

原创 iOS学习总结之沙盒和归档

沙盒   归档                                                                                            一、沙盒(sandbox)1、iOS的沙盒(sandbox)机制:是一种安全体系 iOS应用程序只能对自己创建的应用程序进行读取文件 这个独立、封闭、安全的空间 就是沙盒。它里面一般存放着你的程

2015-09-01 08:19:15 348

原创 iOS学习总结之清理缓存

#import "ViewController.h"@interface ViewController ()@property (nonatomic, strong) UIAlertView *alertView;@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad];

2015-08-31 22:29:40 333

原创 iOS学习总结之多线程编程(NSThread)-线程的状态

终止子线程(3种方式) 1、线程执行体方法结束线程正常结束 2、线程执行过程出现了错误 3、直接调用NSThread类的exit方法来终止当前正在执行的线程  子线程启动和主线程拥有相同的地位 测试某个线程是否正在运行可以调用线程对象的isExecuting(正在执行返回YES)、isFinished(线程执行完成返回YES)方法

2015-08-30 22:16:55 329

原创 iOS学习总结之多线程编程(NSThread)

这一久正在学习多线程编程,现在将自己学习总结跟大家分享一下iOS提供了如下3种多线程编程的技术 >使用NSThread实现多线程 >使用NSOperation与NSOperationQueue实现多线程 >使用GCD(Grand Central Dispatch)实现多线程  这三种编程方式从上到下 抽象度层次是从低到高的 抽象度越高的用法越简单

2015-08-30 22:03:44 309

原创 iOS学习总结之网络编程

今天刚刚自学完网络请求,现将两种请求方式总结如下所有网络请求 统一使用异步请求  GET请求     1、URL     2、NSURLRequest     3、NSURLConnction 异步自己搭建的本地服务器 ,没有安装服务器的可以安装一下,方便练习#pragma mark-GET登录- (void)getLogin{/

2015-08-30 20:53:37 385

原创 iOS学习总结之UI框架UI之文本输入控件( UITextField)

一、文本输入控件( UITextField)1、初始化方式UITextField *textField = [[UITextField alloc]initWithFrame:CGRectMake(, , , );2、属性和方法1>设置边框风格textField.borderStyle = UITextBorderStyleRoundedRect;2>设置提示的文字 当编辑

2015-08-30 20:48:20 406

原创 iOS学习总结之UI框架UIWindow和UIView(附带计时器学习)

一、UIWindow1、UIWindow的概念UIWindow(窗口) 通过这个窗口 可以看到窗口的内容。iOS里面一般只有一个窗口(UIWindow) 用于管理、协调应用中显示的控件。2、主要作用:1)它是个容器 给view(视图) 提供展示的区域               2)将事件(如:旋转、点击等)分发给 view3、UIWindow 其实也是一个view(视图) 继

2015-08-30 20:34:09 398

原创 iOS学习总结之UI图层关系与center

一、center(中心)1>相对于它的父视图来说的(如果改变中心点的位置 视图的位置也会发生变化)。2>中心点计算 X = x + w/2  Y = y + h/23>获得中心的方法 方法一   view.center = CGPointMake(200, 300);  方法二view.center = CGPointMake([UIScreen mainScreen]

2015-08-30 20:31:53 255

原创 iOS学习总结之UI-IB

1.IBAction:1>能保证方法可以连线2>相当于void2.IBOutlet:1>能保证属性可以连线3.常见错误setValue:forUndefinedKey:]: this class is not key value coding错误原因是:连线出问题了4.Xcode5开始的一些建议把用于连线的一些方法和属性声明在.m文件的类

2015-08-30 20:28:37 417

原创 单例(Singleton)模式

单例(Singleton)模式                                                                                   一、如果一个类始终只能创建一个实例,则这个类被称为单例类。单例类可通过static全局变量来实现,程序考虑定义一个static全部变量,该变量用于保存已创建的Singleton对象——每次程序需要

2015-08-17 08:29:24 385

原创 block(闭包)

block(闭包)                                                           1.block(闭包):又叫代码块。是一个独立的整体,可以当做参数来传递。2.black:也算是一个函数。3.black能够读取其它函数的内部变量。4.black可以访问、修改内部变量(修改内部变量需要在修改的变量前加__black)。

2015-08-17 08:28:04 484

原创 KVC、 KVO

KVC、 KVO                                                         一、KVC1.KVC(Key-Value-Coding):键值编码。   1)是一种存取值的方式。通过key存value 或者通过key获取value。    2)key从哪里来?          key把对象里面的属性名、变量名当做了一个key(

2015-08-12 23:00:46 253

原创 内存管理、copy、深浅拷贝

内存管理、copy、深浅拷贝                                  一、内存管理1.内存管理的核心:谁分配、谁释放。2.引用计数器加1的有:alloc、new、copy、retain。3.引用计数器减1的有:release、autorelease。注意:有retain就有release。4.延迟释放(autorelease):和自动释放池配合使用

2015-08-12 16:55:28 473

原创 手工内存管理规则的总结

手工内存管理规则的总结                   下面是一些不使用垃圾收集或ARC编译的项目规划:1.如果需要保持一个对象不被销毁,可以使用retain。在使用完对象后,需要使用release进行释放。2.给对象发送release消息并不会必须销毁这个对象,只当这个对象的引用计数减至0时,对象才会被销毁。然后系统会发送dealloc消息给这个对象用于释放它的内存。3.对使

2015-08-12 08:31:16 284

原创 内存管理器

内存管理器                                                     一、手动计数器(MRC)1.引用计数 1)每个对象有一个整数值,这个整数值与对象本身关联,称为引用计数器。每个引入计数器占四个字节。 2)当某些地方需要使用这个对象时,可以将引用计数器加1,表示需要使用这个对象。 3)使用完毕之后,将该对象的引用计数器值减1,表示

2015-08-10 22:46:21 629

OC开发之可变数组

自己学习整理的可变数组的知识,希望对一起学习的朋友有帮助。

2015-07-23

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除