随笔分类 - ios
摘要:在 ios开发中,我们经常需要对服务器的传回来的json进行解析,特别是对哪些字段特别多的就会又烦躁的情绪。tmd都是一样的东西,要为每个property赋值,真是累人啊。举个简单的例子吧。服务器会过来的数据是:
阅读全文
摘要:如果一个需要对一个json对象的解析中不存在数组之类的,就直接继承就行,什么都不用写。如果有数组的话,就需要重载
- (NSString*) propertyClassName:(NSString*)propertyName这个方法就行。这样就可以找到正确的类进行解析了。
阅读全文
摘要:归档是一种很常用的文件储存方法,几乎任何类型的对象都能够被归档储存(实际上是一种文件保存的形式),浏览网上的一些资料后,并结合自己的一些经验,总结成此文。
阅读全文
摘要:贴几段斯坦福大学关于gcd的代码,这段代码逐步演示了如何修正错误,其中用到的既是串行队列
阅读全文
摘要:1.static有什么用途?(请至少说明两种)
1)限制变量的作用域
2)设置变量的存储域(堆,主动分配内存也是堆)
1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。
3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。
2.全局变量和局部变量在内存中是否有区别?如果有,是什么区别?
全局变量储存在静态数据库,局部变量在栈
阅读全文
摘要:1、Objective-C的类可以多重继承么?可以采用多个协议么?
答:不可以多重继承,可以采用多个协议。
2、#import和#include的区别是什么?#import 跟 #import""有什么区别?
#import能避免头文件被重复包含的问题:
1) 一般来说,导入objective c的头文件时用#import,包含c/c++头文件时用#include。
使用include要注意重复引用的问题:
class A,class B都引用了class C,class D若引用class A与class B,就会报重复引用的错误。
2)#import 确定一个文件只能被导入一次,这使你在递归包含中不会出现问题。
所以,#import比起#include的好处就是它避免了重复引用的问题。所以在OC中我们基本用的都是import。
#import 包含iOS框架类库里的类,#import""包含项目里自定义的类。
阅读全文
摘要:1.判断邮箱格式是否正确的代码
//利用正则表达式验证
-(BOOL)isValidateEmail:(NSString *)email
{
NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",emailRegex];
return [emailTest evaluateWithObject:email];
}
2.图片压缩
阅读全文
摘要:今天整理硬盘,找到了一个有趣的demo。
一年前,91助手游戏联运呈爆棚趋势,但是许多使用FlashAir开发的优秀的游戏和应用都卡在了接入的环节。搜遍全网,国内相关资料寥寥无几,只有位Adobe的传教士写了一些有点关联文章,但是也实在没法解决在接入中遇到的这些疑难杂症。
恰巧,我也做了一款APP在91上线,接入的过程中也遇到了很多奇葩的问题,现在想想,那些熬夜摸石头过河的日子还真不好过。
产品上线后,应91商务林宗华先生邀约,特别写了一个接入iOS的demo,换取了一天的首页推荐。但是推荐效果非常一般,真是枉费我细心的准备demo的了。
今年,我现在所在的公司有一款产品与91进行了合作,在接入时,收到了91技术发来的封装好的ane,封装的很不错,我也就直接用他的了,不想再花费多余的时间去做sdk的升级了。
总之,demo中包含很多接入的细节,是一个完整的Air接入其他平台功能的demo,虽然有些处理方法现在回头看看显得过时了,但如果你能掌握了处理这些疑难杂症的技巧和思路,那么接入国内外任何平台,都显得特轻松了。
阅读全文
摘要:关于IOS程序设置启动画面以及图标的设备目前主要为:IPhone设备 和IPad设备
IPhone启动画面以及图标的设置
目前IPhone的分辨率为:320X480、640X960、640X1136。
Default.png 320X480 iPhone 320X480分辨率屏幕默认启动图片。
Default@2x.png 640X960 iPhone 640X960分辨率屏幕默认启动图片。
Default-568h@2x.png 640X1136 iPhone 640X1136分辨率屏幕默认启动图片。
阅读全文
摘要:这个图片展示的时候,我只想让它在蓝色的view上展示。。就需要去设置view的一个属性clip subview。。把这个属性打勾。。。view有个clip subview属性,选啦之后,超出这个view的部分就不显示啦
阅读全文
摘要:OSI(Open System interconnection)开放系统互连参考模型
ISO(International Standards Organization)国际标准化组织
阅读全文
摘要:单例模式是iOS常用设计模式中的一种。单例设计模式的作用是使得这个类的一个对象成为系统中的唯一实例,因此需要用一种唯一的方法去创建这个对象并返回这个对象的地址。那么,我们何时使用单例模式呢?1、类只能有一个实例,而且必须从一个为人熟知的访问点对其访问。2、这个唯一的实例只能通过子类化进行扩展,而且扩展的对象不会破坏客户端代码。
阅读全文
摘要:UIKit中包含了UIGestureRecognizer类,用于检测发生在设备中的手势。UIGestureRecognizer是一个抽象类,定义了所有手势的基本行为,它有下面一些子类用于处理具体的手势:
1、拍击UITapGestureRecognizer (任意次数的拍击)
2、向里或向外捏UIPinchGestureRecognizer (用于缩放)
3、摇动或者拖拽UIPanGestureRecognizer
4、擦碰UISwipeGestureRecognizer (以任意方向)
5、旋转UIRotationGestureRecognizer (手指朝相反方向移动)
6、长按UILongPressGestureRecognizer
阅读全文
摘要:1 问题:
@property(nonatomic,getter=isOn) BOOL on; 中的getter = isOn的含义?
2 答案:
如果这个property是 BOOL on, 那么Objc默认创建的 setter 为: - (void)on:(BOOL)setOn { } getter 为: - (BOOL)on { return on; } 但是你可以手动更改 setter 和 getter 方法,就像上面的: getter = xxxOn 的话, getter 就变为: - (BOOL)xxxOn { return on; }
阅读全文
摘要:最近有个疑惑 @interface中的属性和@property声明的属性有什么区别呢,经过上网搜索和实践验证,个人总结了几点,共同学习一下。
阅读全文
摘要:xcode5编译一个xcode4时写的代码,提交iTunes审核时出错。
1、iOS提交审核时出现Invalid Binary错误
2、收到邮件:
阅读全文
摘要:tableView表格中的cell有重用机制,这是一个很好的东西,可以避免开辟很多的空间内存。但是有时候我们不想让它重用cell,,可以用以下的代码解决。
阅读全文
摘要:音频文件(Audio File)
1、有两个概念
(1)、文件格式(File Format or Audio Containers)——描述文件本身的格式,里面的音频数据可以用不同的编码格式。
例如:caf文件就是一种文件格式。这种文件里面包含的音频数据可以是MP3编码,线性PCM编码或者其他的编码格式。
(2)、数据格式(Data Format or Audio Encoding)——音频数据的编码格式。
阅读全文
摘要:1、如果在程序中想对某张图片进行处理的话(得到某张图片的一部分)可一用以下代码:
UIImage *image = [UIImage imageNamed:filename];
CGImageRef imageRef = image.CGImage;
CGRect rect = CGRectMake(origin.x, origin.y ,size.width, size.height);
CGImageRef imageRefRect = CGImageCreateWithImageInRect(imageRef, rect);
UIImage *imageRect = [[UIImage alloc] initWithCGImage:imageRefRect];
阅读全文
摘要:ctrl+shift 快速放大dock的图标会暂时放大,而如果你开启了dock放大
Command+Option+W 将所有窗口关闭
Command+W 将当前窗口关闭(可以关闭Safari标签栏,很实用)
Command+Option+M 将所有窗口最小化
阅读全文