iOS
文章平均质量分 52
北冥鱼_
读书、写作、周游天下...
展开
-
Swift 网络请求工具类
Swift 网络请求工具类原创 2022-12-12 22:52:58 · 546 阅读 · 0 评论 -
Swift 换皮肤工具类
一个换肤工具类原创 2022-12-12 21:23:08 · 625 阅读 · 0 评论 -
Checklists app demo 详解
本教程包含内容:Model-View-Controller 工作原理大标题(large titles)展示Segue 类型介绍代理(delegate)模式讲解可选类型 Optionals 讲解Weak 弱引用讲解沙盒机制讲解Codable 协议Plist files 序列化讲解UserDefaults 讲解Functional Programming 讲解本地通知 (local notifications) 讲解类方法 vs 实例方法讲解本教程 demo 下载地址本 dem原创 2021-04-26 21:10:42 · 213 阅读 · 0 评论 -
转换十六进制 color 为 UIColor
将格式为#symbol 的十六进制(eg. #ffe700ff )颜色转换为 UIColor,可以这样写,代码如下:extension UIColor { public convenience init?(hex: String) { let r, g, b, a: CGFloat if hex.hasPrefix("#") { let start = hex.index(hex.startIndex, offsetBy: 1)原创 2021-04-20 11:20:10 · 177 阅读 · 0 评论 -
SVG Assets in Xcode for Single Scale Images
Xcode 12 在 iOS,macOS 和 iPadOS 中引入了对可缩放矢量图形(SVG)图像的支持。在 Xcode 12 之前,我们只能通过 PDF assets 来使用 single scale resources 。这样无需使用@1x,@2x 和 @3x 后缀为每个比例生成单独的图像,因此可以节省我们的适配时间,还可以避免潜在的错误,例如意外生成大小为 @1x 的 @3x 资源。什么是 SVG(Scalable Vector Graphic)?可伸缩矢量图形,也称为 SVG,定义了可扩展标记翻译 2021-01-21 14:16:37 · 382 阅读 · 0 评论 -
iOS zoom in zoom out 放大缩小图片
首先,在 viewDidLoad 添加设置:scrollView.delegate = selfscrollView.minimumZoomScale = 1.0scrollView.maximumZoomScale = 10.0实现方法一: override func viewWillLayoutSubviews() { super.viewWillLayoutSubviews() updateMinZoomScaleForSize(view.bounds.siz原创 2021-01-21 14:14:37 · 5938 阅读 · 2 评论 -
Swift 自定义 tableViewCell
创建类 CustomTableViewCell:import UIKitclass CustomTableViewCell: UITableViewCell { lazy var backView: UIView = { let view = UIView(frame: CGRect(x: 0, y:0, width: self.frame.width, height: 50)) return view }() lazy var se原创 2021-01-21 14:13:42 · 772 阅读 · 1 评论 -
Sizeof与Strlen的区别与联系
Sizeof与Strlen的区别与联系一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof转载 2013-11-21 20:13:20 · 711 阅读 · 0 评论 -
IOS在线学习好網站收集
1.http://mobile.tutsplus.com 2.http://www.appcoda.com3.http://codecanyon.net/ 可以交易源程序 4.http://www.oramind.com 5.http://iphonedevsdk.com/ 6.http://www.devdiv.com7.http://www.mac原创 2013-11-23 20:59:26 · 1149 阅读 · 0 评论 -
iOS self.的学习
何时使用self.在网上搜索或者论坛里的回复大多都是简简单单的说这与objc的存取方法有关,如何与存取方式有关究竟他们之间的是什么样的关系就很少有同学回答了。下面以代码来说明问题:创建一个Student类,继承NSObject类,代码: 1: #import 2: 3: @interface Student : NSObject{ 4:转载 2013-11-24 15:50:54 · 810 阅读 · 0 评论 -
iOS内存暴增问题追查与使用陷阱
标签: autorelease , 内存暴增 , 内存泄漏 分类:编程技术, 贴吧技术iOS平台的内存使用引用计数的机制,并且引入了半自动释放机制;这种使用上的多样性,导致开发者在内存使用上非常容易出现内存泄漏和内存莫名的增长情况; 本文会介绍iOS平台的内存使用原则与使用陷阱; 深度剖析autorelease机制;低内存报警后的处理流程;并结合自身实例介绍内存暴转载 2013-11-28 20:09:58 · 1039 阅读 · 0 评论 -
什么是ARC
ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting)。简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。AD:2013云计算架构师峰会课程资料下载ARC是什么变化点使用ARC的好处不好的地方转载 2013-11-29 17:33:14 · 1453 阅读 · 0 评论 -
理解ObjC下的ARC
自动引用计数(Automatic Reference Counting, ARC)把压在程序员们肩头的管理内存的重担卸除了不少,更不用说让跟踪内存泄漏那样的烦心事也少了很多。不过,虽然ARC很棒,我们仍然不能完全把内存管理这回事儿抛在脑后。这篇文章将要讨论以下方面的问题,帮助大家快速进入ARC的世界。 内存的引用计数: 快速复习 ARC的工作原理 在工程中开启ARC ARC施加的新转载 2013-11-29 19:17:34 · 1454 阅读 · 0 评论 -
手把手教你ARC——iOS/Mac开发ARC入门和使用
Revolution of Objective-c本文部分实例取自iOS 5 Toturail一书中关于ARC的教程和公开内容,仅用于技术交流和讨论。请不要将本文的部分或全部内容用于商用,谢谢合作。欢迎转载本文,但是转载请注明本文出处:http://www.onevcat.com/2012/06/arc-hand-by-hand/本文适合人群:对iOS开发有一定基础,熟悉iOS开发转载 2013-11-29 21:15:51 · 974 阅读 · 0 评论 -
iOS memory management 2
一 基本原理Objective-C的内存管理机制与.Net/Java那种全自动的垃圾回收机制是不同的,它本质上还是C语言中的手动管理方式,只不过稍微加了一些自动方法。1 Objective-C的对象生成于堆之上,生成之后,需要一个指针来指向它。ClassA *obj1 = [[ClassA alloc] init]; 2 Objectiv转载 2013-12-07 22:01:45 · 876 阅读 · 0 评论 -
iOS memory management 1
1. 内总管理原则(引用计数) IOS的对象都继承于NSObject, 该对象有一个方法:retainCount ,内存引用计数。 引用计数在很多技术都用到:window下的COM组件,多线程的信号量,读写锁,思想都一样。 (一般情况下: 后面会讨论例外情况) alloc 对象分配后引用计数为1 retain 对象的引用计数+1转载 2013-12-07 21:49:39 · 916 阅读 · 0 评论 -
KVO/KVC 实现原理进一步分析
本文由DevDiv Vincent (vincent@devdiv.com)整理、进一步分析,转载请注明出处!1. 函数调用(消息)实现分析:我们看这条语句:[代码]c#/cpp/oc代码:view sourceprint?1[self.person setValue:@"Vincent"forKey:@"name"];转载 2013-12-02 23:14:45 · 916 阅读 · 0 评论 -
NSNotificationCenter/UILocalNotification/remote notification/notification center
本文由DevDiv Vincent (vincent@devdiv.com) 翻译整理,转载请注明出处!NSNotificationCenter/UILocalNotification/remote notification/notification center令人困惑的关系梳理!1. 三种类型的notification苹果提供了三种notification:NSNotificati转载 2013-12-02 22:26:52 · 1944 阅读 · 0 评论 -
Xcode Source Code Management with Git
This tutorial will be about Git integration with Xcode. For more in depth discussion of Git consult Pro Git orVersion Control with Git.使用Git source control管理你的工程有两种不同的方法。第一种,在终端使用git i翻译 2013-12-29 14:32:31 · 1688 阅读 · 0 评论 -
iphone开发资源汇总
转自:http://blog.csdn.net/favormm/article/details/6664970 iphoneios文档calendar2010学习过程当中查找到的资料,做一个记录,以便更多朋友查看。开发的过程有时候是简单的,因为我们可以站在巨人的肩上,跳得更高,走得更远。如何用Facebook graphic api上传视频:转载 2013-12-18 19:19:39 · 1634 阅读 · 0 评论 -
NSAutoreleasePool
在iOS开发中,苹果不建议使用半自动内存管理方式,但不像GC机制一样被禁用,原因是这种半自动内存管理容易在某些情况下导致内存溢出。我们看如下代码: NSAutoreleasePool *pool = [[NSAutoreleasePool alloc]init];for(int i=0;i NSString *s = @"......"; if(i%10原创 2014-01-11 23:12:31 · 1166 阅读 · 0 评论 -
iOS撤销软键盘小方法
-(IBAction)backgroundTap:(id)sender{ [self.view endEditing:YES];}原创 2014-02-08 21:58:39 · 1026 阅读 · 0 评论 -
iOS内存管理优化
-(void)didReciveMemoryWaring { [super didReceiveMemoryWaring]; //self.isViewLoaded判断视图是否在内存中, self.view.window判断当前视图是否显示在window上面 //当收到内存警告,如果当前视图已经加载至内存,并且没有显示在window上,释放其内部一些资源原创 2014-02-23 22:52:39 · 1303 阅读 · 0 评论 -
NSTimer 与 runloop
[self performSelectorInBackground:@selector(multiThread) withObject:nil];- (void)multiThread { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; //此种方式创建的timer已经添加至ru原创 2014-03-27 22:33:32 · 683 阅读 · 0 评论 -
面向对象之多态及类工厂
1.多态性(Polymorphism)关于多态的普通定义来源于它的希腊词根 – “Poly” 表示很多, “Morph” 表示形式。在计算机科学中,这个词有特别的定义,依据 Free Online Dictionary of Computing网站的解释:一个变量,它在可能指向一个对象,这个对象的类在编译时还未知,但是会在运行时根据实际指向的类执行相应的反馈。这些定义最终可以归结原创 2014-04-14 22:46:13 · 1085 阅读 · 0 评论 -
基于MVC开发模式的天气预报小Demo
自从过年后也算写了一些博客,但大多是关于个人生活中的随感,感觉有点不好意思了。好啦,现在开始写一些干货!以后我会这样技术与人文混合着写,如果您有好的想法或建议,我非常希望可以听到您的声音。如果您不认同我的观点或者觉得我说的有错,欢迎朋友们指点扶正。 这两天为了深入学习MVC,我特意写了一个天气预报的小Demo,刚刚上传,希望可以帮助有需要的朋友,同样希望技高一筹的朋友指出我代码中存原创 2014-03-20 22:56:52 · 1682 阅读 · 0 评论 -
iOS 获取软键盘高度
- (void)viewDidLoad{ [[NSNotificationCenterdefaultCenter] addObserver:self selector:@selector(keyboardDidShow:) name:UIKeyboardDidShowNotification object:nil]; [[原创 2014-04-03 15:35:58 · 2465 阅读 · 0 评论 -
MKNetWorkKit打印URL
-(void)initNewUrl:(NSString *)urlString param:(NSMutableDictionary *)_paramDic{ //拼接参数至URL NSMutableString *paramsStr = [[NSMutableString alloc] initWithString@“”]; if(_paramDic!=原创 2014-05-08 19:38:48 · 987 阅读 · 0 评论 -
NSString NSDate 计算时间差
NSDate * now = [NSDatedate]; NSDateFormatter *df = [[NSDateFormatteralloc] init]; [df setDateFormat:@"yyyy-MM-dd"]; NSLocale *locale = [[NSLocalealloc] initWithLocaleIdentifier:@"原创 2014-04-09 19:18:39 · 2980 阅读 · 0 评论 -
CGPathAddArc vs CGPathAddArcToPoint
CGContextAddArc :红线是我们想要画的, sA 是startAngle, eA 为 endAngle, r 是半径, x 和 y 对应参数中的 x 和 y. 如果有前置点,方法将画一条从该点到狐的起点,除非你非常小心,不然这条线不会和弧线同一个方向。CGContextAddArcToPoint :翻译 2014-05-11 23:13:09 · 1662 阅读 · 0 评论 -
iOS腾讯云MTA嵌入方法使用小结
1 开始嵌入SDK1.1 获取AppKey 登陆腾讯云分析移动统计前台http://mta.qq.com,点击"查看数据",选择"注册应用",按照步骤提示注册应用,即可获得AppKey。 如果应用是通过其他渠道,比如“腾讯移动开放平台”接入腾讯云分析,则会自动为您分配AppKey,按页面提示操作即可。1.2 向工程中导入SDK下载统计SDK压缩包,解压至本地目录,将其中的SDK原创 2014-06-04 22:04:38 · 5725 阅读 · 0 评论 -
字符串密文显示
-(void)test { // 身份证密文显示 NSMutableString * testIDStr = [NSMutableString stringWithString:@"410224199005060730"]; NSRange range=NSMakeRange(6, 8); if (testIDStr.length >原创 2014-06-04 22:10:27 · 1745 阅读 · 0 评论 -
UIPanGestureRecognizer上下左右滑动方向判断算法
CGFloat const gestureMinimumTranslation = 20.0;typedef enum :NSInteger { kCameraMoveDirectionNone, kCameraMoveDirectionUp, kCameraMoveDirectionDown, kCameraMoveDirectionR原创 2014-07-17 10:31:24 · 10534 阅读 · 0 评论 -
Mac OS X中配置Apache
Mac OS X中配置Apache我使用的Mac OS X版本是10.8.2,Mac自带了Apache环境。启动Apache设置虚拟主机 启动Apache打开“终端(terminal)”,输入 sudo apachectl -v,(可能需要输入机器秘密)。如下显示Apache的版本 接着输入 sudo apachectl start,这样Apache就启转载 2014-07-17 14:03:34 · 684 阅读 · 0 评论 -
xcode5下ffmpeg静态库配置
1、要安装xcode命令行工具 1).xcode5安装命令行工具方法: 在终端执行命令Using xcode-select --install 2).xcode5之前安装命令行工具方法:2、xcode5以前都是gcc编译的,在xcode5以后都是clang编译,在脚本中有所体现3、xcode5以前还要下载gas-preproce原创 2014-06-26 21:05:40 · 1230 阅读 · 2 评论 -
FFmpeg学习总结
一、编译FFmpeg静态库方法一:1、要安装xcode命令行工具 1).xcode5安装命令行工具方法: 在终端执行命令Using xcode-select --install 2).xcode5之前安装命令行工具方法:2、xcode5以前都是gcc编译的,在xcode5以后都是clang编译,在脚本中有所体现3、xcode5以原创 2014-07-25 17:56:35 · 3225 阅读 · 0 评论 -
Swift初见
更新于2014年7月22日 基于Xcode6-beta 4的系列更新Swift是苹果公司今年在WWDC新推出的标牌语言。伴随着这门语言, 苹果公司给出了参考文档 Swift reference guide ,我强烈建议大家去学习下。然而,该参考文档很长!所以,如果你没有足够多的时间,或者你想快速的学习Swift,那么这篇教程很适合你。这篇Swift教程将历时15分钟左翻译 2014-07-27 23:38:40 · 1240 阅读 · 0 评论 -
iOS 新浪微博客户端Demo实践之(一)OAuth2.0认证
继续学习iOS,这个练习的Sina Weibo Demo。这个练习程序将分多part实现。下面是第一篇 -- OAuth2.0认证。下面还是要简要说一下在程序开发之前的准备,首先要到新浪开发者平台创建一个移动应用获得key和secret,注意还有一个要注意的是在管理中心的应用信息里的高级信息中编辑OAuth2.0 授权设置的授权回调页。在认证这一部分会用转载 2014-07-30 14:47:44 · 1019 阅读 · 0 评论 -
创建透明的UIToolbar
TranslucentToolbar.h文件#import @interface TranslucentToolbar :UIToolbar@endTranslucentToolbar.m文件#import "TranslucentToolbar.h"@implementation TranslucentToolbar- (id)initWi原创 2014-07-15 16:17:42 · 1115 阅读 · 0 评论 -
UITableViewCell重用机制
UITableView是iOS开发中使用频率非常高的一个控件,它常被用来展示信息列表,虽然信息数据可能很多,但UITableView消耗的资源却并不会随着展示信息的增多而变大,这都要得益于UITableViewCell的重用机制,重用机制:顾名思义,就是重复利用资源的机制。下面通过一些代码来看下通常我们创建UITableViewCell的方式- (UITableViewCell*)tableV原创 2014-07-31 09:48:11 · 1378 阅读 · 0 评论