![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OC
IT_贾
这个作者很懒,什么都没留下…
展开
-
IOS开发之深拷贝与浅拷贝(mutableCopy与Copy)详解
阅读本文之前首先了解copy与retain的区别,如果有不正确的地方望大家多多指教:copy与retain的区别:copy是创建一个新对象,retain是创建一个指针,引用对象计数加1。Copy属性表示两个对象内容相同,新的对象retain为1 ,与旧有对象的引用计数无关,旧有对象没有变化。copy减少对象对上下文的依赖。 retain属性表示两个对象地址相同(建立一个转载 2014-01-10 17:48:15 · 967 阅读 · 0 评论 -
自定义iOS上双击Home键截图切换
如果双击Home,会来到iOS App的switcher页面,在这儿列出了当前系统挂起的App, 上面有每个App的切屏,相信大家都熟悉这个东东了。它其实是每个App在挂起前,对App后个载屏。那么我们如何自定义它在App Switcher上的展示呢,明白了它其实是对App的载屏,那么在它快进入后台的时候,我们改变其外观,那么载下来的图片,不就改变了吗?代码如下@interface App原创 2015-03-17 17:53:15 · 2151 阅读 · 0 评论 -
iOS 引入支付宝 缺少 #include <openssl/asn1.h>
出现情况如上图:解决方法如下:在你的Xcode里的header search paths 里添加支付宝SDK(openssl的路径);格式如下 $(PROJECT_DIR)/文件夹名 (这里说一下,直接点击openssl,然后showinfinder,然后command + i 查看路径,把得到路径的工程名字以后的部分加在文件夹名这OK了)原创 2015-03-12 10:56:01 · 4035 阅读 · 0 评论 -
Objective-C 语法之 static 关键字
学习过Java 或者 C 语言的朋友应该很清楚static关键字吧?在某个类中声明一个static 静态变量, 其他类中想使用它或者修改它不用new 这个对象 ,直接使用它的类名方可直接拿到这个静态变量的对象,遍可以在其他类中任意修改这个变量的数值。 在Objective-C 的语法中声明后的static静态变量在其他类中是不能通过类名直接访问的,它的作用域只能是在声明的这个转载 2015-03-31 10:44:00 · 547 阅读 · 0 评论 -
bounds 和frame区别
仔细看下这个图就知道了原创 2015-04-01 16:16:05 · 603 阅读 · 0 评论 -
search Paths $(SRCROOT)和$(PROJECT_DIR)区别
$(SRCROOT)代表的时项目根目录下$(PROJECT_DIR)代表的是整个项目PS:往项目添加文件时,例如.a等,要先showinfinder ,复制到项目中,然后再拖到xcode项目中原创 2015-04-17 17:43:04 · 13040 阅读 · 0 评论 -
关于dispatch_sync死锁问题
首先,我们来看下下面一个例子:代码:(串行队列里同步线程嵌套) NSLog(@"haha"); dispatch_queue_t queue = dispatch_queue_create("test", nil); dispatch_sync(queue, ^ { NSLog(@"xxoo0"); dispatch_sync(原创 2015-08-24 10:50:15 · 3225 阅读 · 1 评论 -
Objective-C中的一些特殊的数据类型
nilnil和C语言的NULL相同,在objc/objc.h中定义。nil表示一个Objctive-C对象,这个对象的指针指向空(没有东西就是空)。Nil 首字母大写的Nil和nil有一点不一样,Nil定义一个指向空的类(是Class,而不是对象)。原创 2015-08-04 09:25:03 · 404 阅读 · 0 评论 -
iOS启动图 LaunchImage LaunchScreen.xib
1.Images.xcassets添加LaunchImage2.具体大小和添加类别都是可以调的3.选中LaunchScreen.xib,去掉右边选项use as launch screen 4.在launch Image Source 选中你所添加的launchImage ,再把Launch Screen File 置为空(这个很重要)5.OK,运行,现在启原创 2015-09-10 09:19:29 · 2439 阅读 · 0 评论 -
IOS的变量前加extern和static字段
IOS的变量前加extern和static字段 在SplashViewController.m中定义一个变量是这样的#import "SplashViewController.h"NSString* meString=@"123";@implementation SplashViewController// NSString* meString=@"123";.原创 2015-09-11 10:40:19 · 1177 阅读 · 0 评论 -
xcode6中如何添加pch文件
Xcode5中创建一个工程的时候,系统会自动创建一个以以工程名为名字的pch(Precompile Prefix Header)文件,开发的过程中可以将广泛使用的头文件以及宏包含在该文件下,编译器就会自动的将pch文件中的头文件添加到所有的源文件中去,这样在需要使用相关类的时候不需要使用import就可以直接使用头文件中的内容,很大程度上给程序员带来了编程的便利性。但是在Xcode6中去掉Prec原创 2015-04-17 17:38:06 · 817 阅读 · 0 评论 -
iOS开发-NSLog不打印设置 Prefix
首先在-Prefix.pch,文件里添加如下代码#ifdef DEBUG #define NSLog(...) NSLog(__VA_ARGS__)#define debugMethod() NSLog(@"%s", __func__)#else #define NSLog(...) #define debugMethod() #endif 上段代码的意思就是 用宏指令原创 2015-09-16 11:32:40 · 692 阅读 · 0 评论 -
学习boundingRectWithSize:options:attributes:context:计算文本尺寸
oundingRectWithSize:options:context: 返回文本绘制所占据的矩形空间。- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options context:(NSStringDrawingContext *)context 参数size原创 2015-10-10 18:02:06 · 1684 阅读 · 0 评论 -
写iOS SDK注意事项
转载http://www.devtang.com/blog/2015/01/31/write-sdk-tips/转载 2015-11-10 17:01:14 · 887 阅读 · 0 评论 -
IOS开发之----全局变量extern的使用
extern,作用在IOS中,为了使用全局变量。比写在appDelegate和定义单例方便一些;举例:1.MyExternClass.h添加这个类,并在.m文件添加 代码 #import "MyExtern.h"@implementation MyExternNSString *myExternString = @"123";@end2.在引用类ViewCont原创 2015-11-12 11:32:23 · 3016 阅读 · 0 评论 -
iphone使用keychain来存取用户名和密码
1.在arc下系统提示使用__bridge http://www.cnblogs.com/zzltjnh/p/3885012.html参考文档:http://blog.csdn.net/jerryvon/article/details/16843065 http://blog.csdn.net/kylinbl/article/details/6887原创 2015-10-15 16:39:05 · 871 阅读 · 0 评论 -
iOS开发new与alloc/init的区别
概括来说,new和alloc/init在功能上几乎是一致的,分配内存并完成初始化。差别在于,采用new的方式只能采用默认的init方法完成初始化,采用alloc的方式可以用其他定制的初始化方法。转载 2015-10-30 15:16:58 · 523 阅读 · 0 评论 -
自定义iOS上双击Home键图切换
如果双击Home,会来到iOS App的switcher页面,在这儿列出了当前系统挂起的App, 上面有每个App的切屏,相信大家都熟悉这个东东了。它其实是每个App在挂起前,对App后个载屏。那么我们如何自定义它在App Switcher上的展示呢,明白了它其实是对App的载屏,那么在它快进入后台的时候,我们改变其外观,那么载下来的图片,不就改变了吗?明白这个原理后,那我们就试一试。原创 2015-03-17 17:57:31 · 992 阅读 · 0 评论 -
HTML与XML的区别
什么是HTML HTML的全拼是Hypertext Markup Language, 中文也就是超文本链接标示语言。HTML(HyperTextMark-upLanguage)即超文本标记语言,是WWW的描述语言。设计HTML语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体,人们不用考虑具体信息是在当前电脑上还是在网络的其它电脑上转载 2015-01-06 17:12:12 · 519 阅读 · 0 评论 -
IOS单例
单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。Singleton模式经常来做应用程序级别的共享资源控制, 应该说这个模式的使用频率非常高, 现在来看看在Objective-C里面的实现方法.要实现一个Singleton Class, 至少需要做以下四个步骤:1. 为Singleton Object实现一个转载 2014-01-14 12:57:02 · 974 阅读 · 0 评论 -
iphone数据库(sqlite3)的用法操作oc,xcode
首先你在用之前要在项目中加入libsqlite3.dylib1、定义模型[cpp] #import #import "sqlite3.h" @class NotePad; @class NoteDb; @interface NoteSqlite : NSObject{ sqlite3 *database; sqlite3_stmt *state转载 2014-02-22 21:11:57 · 1516 阅读 · 0 评论 -
Oc_总结
1、定义类:@interface 类名 : 父类@end2、使用:(冒号)表示继承一个类Student : NSObject3、使用()定义一个Catagory(类别)* 作用:在不改变原有类结构的基础上,扩展原有类的方法(不能扩展属性),但不建议重载原有类的方法* 开发工具默认生成的文件为:类名+Catagory名称* Catagory可以写在转载 2014-02-18 08:38:45 · 941 阅读 · 0 评论 -
将UIView转成UIImage,将UIImage转成PNG/JPG
//把UIView 转换成图片 -(UIImage *)getImageFromView:(UIView *)view{ UIGraphicsBeginImageContext(view.bounds.size); [view.layer renderInContext:UIGraphicsGetCurrentContext()];转载 2014-03-12 21:10:27 · 5124 阅读 · 0 评论 -
自己项目使用了ARC,项目中使用第三方库继续引用ARC
Objective-C引入ARC(Automatic Reference Counting)后,我们经常会面对这样一种困境:自己的项目使用了ARC,却发现要使用的第三方类库是non-ARC的;又或者自己的项目是non-ARC的,但是想使用一个ARC的第三方类库。 这个时候就有点左右为难了,不知道该让non-ARC迁就ARC,还是让ARC迁就non-ARC。网上有一些做法可以解决这个问题:1转载 2014-03-08 20:01:46 · 1185 阅读 · 0 评论 -
UIDatePicker 显示时间和打印时间不一样
默认是时区为0,如下格式化一下就好啦UIDatePicker *datePiker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 100, 100, 50)]; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateForm原创 2014-03-28 20:35:43 · 848 阅读 · 0 评论 -
类目和延展
1.类目类目就是为已存在的类添加新的方法。但是不能添加实例变量。比如系统的类,我们看不到他的.m文件,所以没有办法用直接添加方法的方式去实现。@interface NSMutableArray (Sort) //为NSMutableArray类添加Sort方法,Sort就是类目名,做到见名知意-(void)invert;//方法@end实现部分#import "NSMuta转载 2014-03-31 19:26:27 · 628 阅读 · 0 评论 -
多线程 gcd
iOS中多线程编程工具主要有: NSThreadNSOperationGCD这三种方法都简单易用,各有千秋.但无疑GCD是最有诱惑力的,因为其本身是apple为多核的并行运算提出的解决方案.虽然当前移动平台用双核的不多,但不影响GCD作为多线程编程的利器(ipad2已经是双核了,这无疑是一个趋势).http://www.cnblogs.com/scorpiozj/archive/2转载 2014-04-03 11:50:37 · 592 阅读 · 0 评论 -
AVplayer
#import "AppDelegate.h"10 #import "FirstVC.h"11 @implementation AppDelegate12 13 - (void)dealloc14 {15 [_window release];16 [super dealloc];17 }18 19 - (BOOL)application:(UIApplicati转载 2014-04-03 21:20:50 · 1062 阅读 · 0 评论 -
app启动画面(prepo)
IPhone启动画面以及图标的设置目前IPhone的分辨率为:320X480、640X960、640X1136。Default.png 320X480 iPhone 320X480分辨率屏幕默认启动图片。Default@2x.png 640X960 iPhone 640X960分辨率屏幕默认启动图片。Default-56原创 2014-04-20 15:07:48 · 699 阅读 · 0 评论 -
iOS截屏代码
1.普通界面/** *截图功能 */-(void)screenShot{ UIGraphicsBeginImageContextWithOptions(CGSizeMake(640, 960), YES, 0); //设置截屏大小 [[self.view layer] renderInContext:UIGraphicsGetCurrentContext()];原创 2014-09-30 10:02:16 · 659 阅读 · 0 评论 -
在xcode上把你的app多语言国际化(NSLocalizedString)
1.到project->info->localizations 下面的加号,添加你需要的语言千万不要删除 base 否虽然我不知道有什么用,我是删了整个storyboard没了,很后悔。2.然后添加一个strings 文件,file->new->file...如图3.然后在strings文件右加 点localize 4.在这里可以定义各种转载 2014-11-05 18:21:35 · 2476 阅读 · 0 评论 -
static对局部变量的作用
static修饰局部变量:1,延长局部变量的生命周期到程序技术时,局部变量才会被销毁2,并没有改变局部变量的作用域static修饰局部变量的使用场合:1,如果某个函数的调用频率特别高2,这个函数内部的某个值是固定不变的原创 2014-11-27 14:57:20 · 678 阅读 · 0 评论 -
iOS 开发之多线程之GCD
1.GCD(Grand Centrol Dispath)并行:宏观以及微观都是两个人再拿着两把铁锹在挖坑,一小时挖两个大坑并发:宏观上是感觉他们都在挖坑,微观是他们是在使用一把铁锹挖坑,一小时后他们挖了两个小坑。总结:就单个cpu来说,大部分进程是并发进行的,就是一把铁锹,你一下我一下,只是间隔时间较短,用户感觉不到而已。应用:GCD包括:(1)实际使用中/原创 2014-11-29 22:27:18 · 653 阅读 · 0 评论 -
iOS8 WebKit库之——WKWebView篇
iOS8 WebKit库之——WKWebView篇webkit使用WKWebView来代替IOS的UIWebView和OSX的WebView,并且使用Nitro JavaScript引擎,这意味着所有第三方浏览器运行JavaScript将会跟safari一样快。第一、WKWebView增加的属性和方法类比UIWebView,跟UIWebView的API对比,增加的属转载 2014-12-01 16:45:52 · 771 阅读 · 0 评论 -
iOS extern使用教程
iOS extern使用教程原创 2015-01-07 11:15:42 · 7313 阅读 · 0 评论 -
iOS 唯一标示符 卸载后安装值不变
Vindor标示符 (IDFV-identifierForVendor)这种叫法也是在iOS 6中新增的,不过获取这个IDFV的新方法被添加在已有的UIDevice类中。跟advertisingIdentifier一样,该方法返回的是一个NSUUID对象。NSString *idfv = [[[UIDevice currentDevice] identifierForVendor] UUI原创 2015-02-04 14:32:27 · 1276 阅读 · 0 评论 -
iOS开发~CocoaPods安装和使用
随着 iOS 开发者的增多,业界也出现了为 iOS 程序提供依赖管理的工具,它的名字叫做:CocoaPods。1.安装方式异常简单 , Mac 下都自带 ruby(我的ruby是不需要更新的,如要更新网上有很多),使用终端输入以下命令: 终端输入:sudo gem install cocoapods 刚开始可能会没反应,稍等一会就好了 等待下载安装好了CocoaPods。原创 2015-09-17 11:12:51 · 4241 阅读 · 0 评论