iOS
zmx2029
这个作者很懒,什么都没留下…
展开
-
iOS8毛玻璃特效
#import "ViewController.h"@interface ViewController ()@property (weak, nonatomic) IBOutletUIImageView *imageView;@property (nonatomic,weak) UIVisualEffectView *ef原创 2016-02-26 09:02:09 · 293 阅读 · 0 评论 -
单例
//// singleton.h// singleton//// Created by zmx on 16/2/20.// Copyright © 2016年 zmx. All rights reserved.//#define singleton_h(name) + (instancetype)shared##name;原创 2016-02-21 00:25:40 · 299 阅读 · 0 评论 -
GCD总结
dispatch_queue_t q =dispatch_queue_create("",DISPATCH_QUEUE_SERIAL); dispatch_sync(q, ^{ NSLog(@"1--%@", [NSThreadcurrentThread]); }); dispatch_sync(q, ^{原创 2016-02-20 00:49:31 · 878 阅读 · 0 评论 -
子线程是否要手动创建autoreleasepool
NSThread和NSOperationQueue开辟子线程需要手动创建autoreleasepool,GCD开辟子线程不需要手动创建autoreleasepool,因为GCD的每个队列都会自行创建autoreleasepool原创 2016-03-05 18:00:32 · 2496 阅读 · 0 评论 -
iOS复制链接到剪贴板
UIPasteboard *pasteboard = [UIPasteboardgeneralPasteboard];pasteboard.string = self.shareLink;原创 2016-02-18 21:51:29 · 3354 阅读 · 0 评论 -
UILabel添加删除线,类似团购效果
NSString *str = @"62元/套";NSMutableAttributedString *aStrM = [[NSMutableAttributedStringalloc] initWithString:str];[aStrM addAttribute:NSStrikethroughStyleAttributeNamevalue:@(NSUnderline原创 2016-02-18 21:48:21 · 398 阅读 · 0 评论 -
如何让一个类能被copy修饰
//// Person.h// tst//// Created by zmx on 16/2/17.// Copyright © 2016年 zmx. All rights reserved.//#import @interface Person :NSObject NSCopying>原创 2016-02-17 21:51:48 · 266 阅读 · 0 评论 -
ios程序员6级考试(答案和解释)
##1. 下面的代码分别输出什么? 123456789101112@implementation Son : Father- (id)init{ self = [super init]; if (self) { NSLog(@"%@", NSStringFromClass([self cla转载 2016-02-17 20:59:49 · 401 阅读 · 0 评论 -
mutableCopy和copy的区别
mutableCopy是深拷贝,复制对象,地址不同,retainCount为1copy返回不可变的对象,原对象是不可变对象,仅拷贝地址,retainCount加1,原对象是可变对象,复制对象,地址不同,retainCount加1浅拷贝:仅拷贝地址深拷贝:拷贝对象,地址不同原创 2016-02-17 19:45:30 · 243 阅读 · 0 评论 -
UICollectionViewCell水平缩放,中间大两边小效果的实现
//// CollectionViewFlowLayout.h// HorizontalScale//// Created by zmx on 16/3/15.// Copyright © 2016年 zmx. All rights reserved.//#import @interface Colle原创 2016-03-15 21:42:33 · 6270 阅读 · 0 评论 -
视频
//// MyMoviePlayerViewController.h// PlayVideo//// Created by zmx on 16/3/2.// Copyright © 2016年 zmx. All rights reserved.//#import @interface MyMoviePl原创 2016-03-03 16:01:43 · 2501 阅读 · 0 评论 -
UIPopoverController的使用
PopoverViewController *pvc = [[PopoverViewControlleralloc] init];UIPopoverController *controller = [[UIPopoverControlleralloc]initWithContentViewController:pvc];controller.popoverConte原创 2016-02-16 22:54:11 · 327 阅读 · 0 评论 -
两种方法创建单例
方法一//// Manager.m// test//// Created by zmx on 16/1/9.// Copyright © 2016年 zmx. All rights reserved.//#import "Manager.h"static Manager *manager;原创 2016-01-09 21:44:50 · 295 阅读 · 0 评论 -
子线程开启RunLoop
- (void)touchesBegan:(NSSetUITouch *> *)touches withEvent:(UIEvent *)event { dispatch_async(dispatch_get_global_queue(0,0), ^{ NSTimer *timer = [NSTimerscheduledTimerWithTimeInte原创 2016-02-21 00:29:17 · 842 阅读 · 0 评论 -
iOS项目开发流程和发布流程
项目开发流程1.注册开发者账号2.开发3.真机测试4.发布5.上线发布1.进入苹果开发者网站developer.apple.com2.选择Certificates Identifiers,再选择Certificates3.注册并登录开发者账号4.创建本地证书,钥匙串访问-证书助理-从证书颁发机构请求证书5.在苹果开发者网站选择证书类型,Developer原创 2016-01-25 22:10:01 · 2130 阅读 · 0 评论 -
CoreData的使用
//// Province.h// MyCoreData//// Created by zmx on 16/3/21.// Copyright © 2016年 zmx. All rights reserved.//#import @interface Province : NSObject原创 2016-03-21 16:02:53 · 284 阅读 · 0 评论 -
Git:"Pull is not possible because you have unmerged files"
解决git add -u .git commit -m ""git pull origin mastergit push -u origin master原创 2016-02-24 17:40:44 · 497 阅读 · 0 评论 -
如何解决failed to push some refs to git
Administrator@PC-20150110FGWU /K/cocos2d/yc (master)$ git push -u origin masterTo git@github.com:yangchao0718/cocos2d.git ! [rejected] master -> master (non-fast-forward)error:转载 2016-02-24 17:32:59 · 324 阅读 · 0 评论 -
获取本地相册并显示
本代码适用于iOS8,iOS9#import "ViewController.h"#import "ImageCell.h"#import #import "UIView+Ext.h"#define identifier @"image"@interface ViewController () UICollection原创 2016-02-24 17:00:01 · 601 阅读 · 0 评论 -
网易彩票幸运大转盘源码
#import "ViewController.h"#import "ZMXButton.h"#import "UIView+Ext.h"#define kCount 12#define kAnimationKey @"lucky"@interface ViewController ()@property (w原创 2016-02-24 16:57:23 · 1305 阅读 · 0 评论 -
java和c语言的switch语句支持哪些数据类型
整型 字符型原创 2016-04-01 14:20:27 · 1296 阅读 · 0 评论 -
使用github和SourceTree进行源代码管理遇到POST git-receive-pack (chunked) 问题
在使用SourceTree上传资料的时候,遇到POST git-receive-pack (chunked) 看到这样一则This is a bug in Git; when using HTTPS it will use chunked encoding for uploads above a certain size. Those do not work. A trivial转载 2016-03-20 23:49:00 · 2756 阅读 · 0 评论 -
NSOperation下载图片,图片可平移伸缩,然后裁剪图片
//// DownloadImageOperation.h// tst//// Created by zmx on 16/2/20.// Copyright © 2016年 zmx. All rights reserved.//#import typedef void(^FinishBlock)(UII原创 2016-02-21 00:22:23 · 374 阅读 · 0 评论 -
带动画的发送验证码按钮
效果参见http://my.oschina.net/codeismygirl/blog/643577?fromerr=cxmofezh自定义IFSButton继承UIView#import "IFSButton.h"#import "MMMaterialDesignSpinner.h"#define scale 1.2#define origin原创 2016-03-19 21:38:12 · 628 阅读 · 0 评论 -
发送短信验证码按钮的实现
#import "ViewController.h"@interface ViewController ()@property (weak, nonatomic) IBOutletUILabel *label;@property (weak, nonatomic) IBOutletUIButton *sendBtn;原创 2016-03-18 22:10:41 · 840 阅读 · 0 评论 -
iOS socket编程
客户端消息模型//// MsgModel.h// socket(client)//// Created by zmx on 16/1/8.// Copyright © 2016年 zmx. All rights reserved.//#import @interface MsgModel原创 2016-01-08 22:42:26 · 563 阅读 · 0 评论 -
左侧抽屉视图效果的实现
#import "ViewController.h"#import "LeftView.h"@interface ViewController ()@property (nonatomic,weak) LeftView *leftView;@property (nonatomic,assign) BOOL slideL原创 2016-03-02 12:03:47 · 1107 阅读 · 0 评论 -
oc定义私有变量和私有属性
oc私有变量如下定义@interface Person : NSObject { @private NSString *name;}在Person类中,name是私有变量,也可以去掉@private关键字,定义成员变量默认是私有的oc的私有属性在.m文件的类延展中定义,如下@interface Person ()原创 2016-01-09 19:48:22 · 1996 阅读 · 0 评论 -
id和instancetype的区别
instancetype表示和方法所在类相同的类型,id表示未知类型,可以指向任意类型的对象instancetype和id都可以用作方法的返回类型,一般定义构造方法时用instancetype作为返回值类型,但instancetype不能作为方法参数的类型,这时用id作为方法参数的类型原创 2016-01-09 19:30:49 · 583 阅读 · 0 评论 -
UIViewController的生命周期
alloc 分配内存空间init 初始化loadView 从xib/storyboard文件加载视图,若没有xib/storyboard,创建一个空白的视图赋值给view属性viewDidLoad 视图加载完成调用viewWillAppear 视图即将显示在屏幕上,在这之前调用viewDidAppear 视图已经显示在屏幕上调用viewWillDisappear原创 2016-01-09 19:17:53 · 329 阅读 · 0 评论 -
继承NSOperation类完成能被cancel的耗时操作
//// MyOperation.h// NSOperation//// Created by zmx on 16/1/8.// Copyright © 2016年 zmx. All rights reserved.//#import @interface MyOperation : NSOpe原创 2016-01-09 15:02:05 · 469 阅读 · 0 评论 -
新浪微博第三方登录
使用友盟框架,将框架umeng_ios_social_sdk_4.2.3_arm64_custom导入工程。添加liz.tbdlibstdc++.tbdCoreTelephony.frameworklibsqlite3.tbdCoreGraphics.frameworkSystemConfiguration.framework在AppDelega原创 2016-01-25 20:59:02 · 450 阅读 · 0 评论 -
FMDB的使用
FMDB框架用于SQLite缓存。将FMDB框架导入到工程,添加libsqlite3.tbd。导入ZMXObject类,ZMXObject继承于NSObject,可以不用重写对象的encodeWithCoder和initWithCoder方法,直接和NSData相互转化,下载地址https://github.com/zmx6999/ZMXObject。自定义Person类继承于ZMXO原创 2016-01-25 15:08:29 · 369 阅读 · 0 评论 -
xmpp获取不到联系人的解决办法
加上self.roster.autoFetchRoster = NO; //roster是XMPPRoster类型原创 2016-01-23 21:36:03 · 384 阅读 · 0 评论 -
CFBundleShortVersionString和CFBundleVersion
CFBundleShortVersionString是用户可以看到的版本号,CFBundleVersion是上传到App Store的实际版本号,CFBundleVersion只能递增原创 2016-01-19 15:03:49 · 497 阅读 · 0 评论 -
iOS生成二维码
#import "ViewController.h"#import @interface ViewController ()@property (weak, nonatomic) IBOutletUIImageView *imageView;@end@implementation ViewContr原创 2016-01-01 23:06:31 · 305 阅读 · 0 评论 -
iOS扫描二维码
#import "ViewController.h"#import #import "WebViewController.h"@interface ViewController () AVCaptureMetadataOutputObjectsDelegate>@property (nonatomic,strong) AVCaptur原创 2016-01-01 22:49:42 · 324 阅读 · 0 评论 -
随机生成一个十位数字序列,要求各位不相同
这是百度公司的一道面试题,思路是创建一个可变数组,依次包含0-9十个数字.然后从第0个元素开始,随机生成一个[0,10)范围的随机数x,将这个元素和第x个元素交换,直到最后一个元素完成交换.代码如下 NSMutableArray *arr = [NSMutableArray arrayWithArray:[@"0,1,2,3,4,5,6,7,8,9" componentsSeparated原创 2015-09-19 23:45:23 · 1961 阅读 · 0 评论 -
main函数的autoreleasepool有何用处
autoreleasepool是自动释放池,加入自动释放池的对象,初始化时调用autorelease方法,那么在autoreleasepool语句块结束时,对象会被释放,从而防止占用过多内存,在ARC机制下,autorelease方法由系统自动调用。main函数中的autoreleasepool的作用,就是当主线程运行循环结束时,释放所有对象。原创 2016-01-09 20:00:06 · 1966 阅读 · 0 评论 -
谈谈kvc和kvo
kvc(Key Value Coding)用来给对象的属性或成员变量赋值,或者读取对象属性或成员变量的值,调用setValue:forKey:方法给对象的属性或成员变量赋值,调用valueForKey:方法读取对象属性或成员变量的值,和getter setter方法不同的是,kvc可以读写私有属性和变量kvo(Key Value Observe)用于观测对象属性的变化。kvo的底层机制是,创原创 2016-01-09 20:25:08 · 424 阅读 · 0 评论