objective-c语言
愤奋鸟
只是笔记
展开
-
UIImage存为本地文件,UIImage转换为NSData
UIImage *m_imgFore=......;//png格式NSData *imagedata=UIImagePNGRepresentation(m_imgFore);//JEPG格式//NSData *imagedata=UIImageJEPGRepresentation(m_imgFore,1.0); NSArray*paths=NSS转载 2015-07-31 19:26:32 · 708 阅读 · 0 评论 -
iOS 创建单例的两种方法
感谢原作者:http://blog.sina.com.cn/s/blog_69081e0601019m1z.html创建一个单例很多办法。我先列举一个苹果官方文档中的写法。 [cpp] view plaincopystatic AccountManager *DefaultManager = nil; + (AccountMa转载 2016-01-20 11:05:17 · 404 阅读 · 0 评论 -
URL请求中NSString带中文字符的转码操作
NSString *string = [NSString stringWithFormat:@"%@%@", Url_pat1, Url_part2];string = [string stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];原创 2016-01-05 00:32:00 · 2853 阅读 · 0 评论 -
OC基础:枚举类型
感谢原作者:http://blog.csdn.net/annkie/article/details/9877643一般情况下,我们采用C风格的enum关键字可以定义枚举类型。[cpp] view plaincopyenum{ UIViewAnimationTransitionNone, UIViewA转载 2016-01-07 14:48:50 · 2424 阅读 · 0 评论 -
深度刨析Block
推荐一篇深入研究block的blog:Block 深度研究一.Block的基本使用1.概念 在iOS开发中Block的使用随处可见,使用场景也非常多,例如在网络中进行网络请求的回调,通过Block实现逆传,封装复杂业务逻辑等等,总之Block是带有自动变量的匿名函数,在iOS开发中,能灵活掌握好Block能达到事半功倍的成效。2.Block的声明和定义 Block的转载 2015-12-08 14:10:21 · 546 阅读 · 0 评论 -
IOS深浅拷贝的深入分析
感谢原作者:http://blog.csdn.net/omegayy/article/details/7311839Apple官方文档如下:https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Collections/Articles/Copying.html最近用Core Data做数据转载 2016-01-26 16:08:14 · 375 阅读 · 0 评论 -
iOS分类中通过runtime添加动态属性
感谢原作者:http://www.jianshu.com/p/0ca0bbb0b200首先定义一个类#import@interface Person : NSObject@property (assign, nonatomic) NSInteger age;-(void)run;@end#import "Person.h"@implementation转载 2016-03-18 11:37:51 · 410 阅读 · 0 评论 -
objective-c 中 category 和 extension 的区别
感谢原作者:http://www.cnblogs.com/CoderPlace/archive/2012/05/04/2483039.htmlapple官方文档说extension是 匿名category,从形式上extension确实是不具名的category,但事实上差别很大。category就不细说,主要是期待subclass,为现有类动态添加新的方法。而引入extension的目的转载 2016-04-06 15:29:13 · 434 阅读 · 0 评论 -
Object-C 中各数据类型转换 NSData转NSString,Byte,UIImage
1,NSData 与 NSString NSData --> NSString NSString *aString = [[NSString alloc] initWithData:adata encoding:NSUTF8StringEncoding]; NSString --> NSData NSString *aString = @"1234"; NSData转载 2016-06-02 10:48:54 · 399 阅读 · 0 评论 -
iOS开发 对象是如何初始化的
转自:http://mp.weixin.qq.com/s?__biz=MzAxMzE2Mjc2Ng==&mid=2652155171&idx=1&sn=6bec38e1298095e789fed476a1618ebd&scene=1&srcid=0817bG34YaHHSCOUVeKZNHmj#rd感谢原作者+ alloc 和 - init 这一对我们在 iOS 开发中转载 2016-08-17 09:04:57 · 501 阅读 · 0 评论 -
Objective-C Category 的实现原理
对设计模式有一定了解的朋友应该听说过装饰模式,Objective-C 中的 Category 就是对装饰模式的一种具体实现。它的主要作用是在不改变原有类的前提下,动态地给这个类添加一些方法。在 Objective-C 中的具体体现为:实例(类)方法、属性和协议。是的,在 Objective-C 中可以用 Category 来实现协议。本文将结合 runtime(我下载的是当前的最新版本 objc4转载 2016-10-17 12:30:22 · 433 阅读 · 0 评论 -
iOS开发:使用GCD
什么是 GCDGrand Central Dispatch (GCD) 是 Apple 开发的一个多核编程的解决方法。该方法在 Mac OS X 10.6 雪豹中首次推出,并随后被引入到了 iOS4.0 中。GCD 是一个替代诸如 NSThread, NSOperationQueue, NSInvocationOperation 等技术的很高效和强大的技术。GCD 和 block 的配合使转载 2016-11-13 16:38:35 · 291 阅读 · 0 评论 -
NSMutableArray的removeAllObjects崩溃问题
NSMutableArray的removeAllObjects崩溃问题如下操作:NSArray *arr_i = @[@"1",@"2"]; NSMutableArray *arr_m = [arr_i copy];在这之后,若[arr_m removeAllObjects]会发生异常崩溃;新手很容易犯这个错误,这涉及到深浅拷贝到知识,需要将copy原创 2016-01-19 14:03:43 · 3549 阅读 · 0 评论 -
Objective-C Runtime
Objective-C RuntimeBy 杨萧玉 发表于 2014-11-05文章目录1. 引言2. 简介3. 与Runtime交互3.1. Objective-C源代码3.2. NSObject的方法3.3. Runtime的函数4. Runtime术语4.1. SEL4.2. id4.3. Class4.3.1. Method4.3.2.转载 2015-12-31 11:35:32 · 412 阅读 · 0 评论 -
iOS 获取本地IP地址
原文出自:http://blog.zachwaugh.com/post/309927273/programmatically-retrieving-ip-address-of-iphone For my app, QuickPic, I needed to show the user the IP address of their iPhone so they could type in转载 2015-08-06 15:01:24 · 502 阅读 · 0 评论 -
Objective-C中的Block
内容来源:http://www.cocoachina.com/ios/20150109/10891.html1.相关概念在这篇笔记开始之前,我们需要对以下概念有所了解。1.1 操作系统中的栈和堆注:这里所说的堆和栈与数据结构中的堆和栈不是一回事。我们先来看看一个由C/C++/OBJC编译的程序占用内存分布的结构: 栈区(stack):由系转载 2015-09-09 13:45:42 · 573 阅读 · 0 评论 -
Objective-C 身份证号码校验
转载来源:http://blog.csdn.net/djl4104804/article/details/17114143原文地址源码有点小问题,修正后亲测可用。+ (BOOL)validateIDCardNumber:(NSString *)value { value = [value stringByTrimmingCharactersInSet:[NSCharacter转载 2015-11-03 13:35:57 · 518 阅读 · 3 评论 -
iOS开发多线程篇—线程安全
一、多线程的安全隐患资源共享1块资源可能会被多个线程共享,也就是多个线程可能会访问同一块资源比如多个线程访问同一个对象、同一个变量、同一个文件当多个线程访问同一块资源时,很容易引发数据错乱和数据安全问题示例一:示例二:问题代码://// YYViewController.m// 05-线程安全//// Created by appl转载 2015-10-03 21:25:26 · 530 阅读 · 0 评论 -
对象中的前8字节就是isa指针
内容来源:http://bbs.itheima.com/thread-137894-1-1.html查看文档可知DiscussionThe isa instance variable of the new instance is initialized to a data structure that describes the class; memory for all other转载 2015-09-18 09:38:13 · 1057 阅读 · 0 评论 -
OC代码:手机号码和价格金额有效性判断及特殊字符的限制
转载自:http://outofmemory.cn/code-snippet/1992/iOS-develop-shoujihaoma-price-jine-youxiaoxing-decide-and-teshuzifu-limited在实际开发过程中,经常会遇到些不能让用户随便地输入手机号码,对输入的手机号码的正确判断;有些输入框只能输入数字,不能输入字母或特殊字符;还有些如价格金额之转载 2015-10-27 15:01:15 · 1301 阅读 · 0 评论 -
IOS Runtime(一)
原文传送门 http://blog.csdn.net/lizhongfu2013/article/details/9496705IOS高级开发~Runtime(一)IOS高级开发~Runtime(二)IOS高级开发~Runtime(三)IOS高级开发~Runtime(四)一些公用类:@interface转载 2015-11-25 14:30:40 · 378 阅读 · 0 评论 -
IOS Runtime(二)
IOS高级开发~Runtime(一)IOS高级开发~Runtime(二)IOS高级开发~Runtime(三)IOS高级开发~Runtime(四)一些公用类:@interface ClassCustomClass :NSObject{ NSString *varTest1; NSString *v转载 2015-11-25 14:32:25 · 300 阅读 · 0 评论 -
IOS Runtime(三)
IOS高级开发~Runtime(一)IOS高级开发~Runtime(二)IOS高级开发~Runtime(三)IOS高级开发~Runtime(四)11、系统类的方法实现部分替换- (void) methodExchange { Method m1 = class_getInstanceMethod([NSStringcla转载 2015-11-25 14:33:39 · 361 阅读 · 0 评论 -
IOS Runtime(四)
IOS高级开发~Runtime(一)IOS高级开发~Runtime(二)IOS高级开发~Runtime(三)IOS高级开发~Runtime(四)用C代替OC:#import #import #import extern int UIApplicationMain (int a转载 2015-11-25 14:35:03 · 347 阅读 · 0 评论 -
ios下使用rsa算法与php进行加解密通讯
首先了解一下几个相关概念,以方便后面遇到的问题的解决:RSA算法:1977年由Ron Rivest、Adi Shamirh和LenAdleman发明的,RSA就是取自他们三个人的名字。算法基于一个数论:将两个大素数相乘非常容易,但要对这个乘积的结果进行因式分解却非常困难,因此可以把乘积公开作为公钥。该算法能够抵抗目前已知的所有密码攻击。RSA算法是一种非对称算法,算法需要一对密钥,使用转载 2015-12-31 11:52:34 · 1061 阅读 · 0 评论 -
objective-c @synchronized 锁用法
转载地址:http://windshg.iteye.com/blog/1853839Objective-C除了提供异常处理机制外,还提供了线程同步功能。异常处理在前面的“异常处理”章节有介绍。 线程的同步执行Objective-C支持程序中的多线程。这就意味着两个线程有可能同时修改同一个对象,这将在程序中导致严重的问题。为了避免这种多个线程同时执行同一段代码转载 2017-03-08 18:04:57 · 993 阅读 · 0 评论