---------- iOS ----------
文章平均质量分 67
布怀特
去到任何想去的地方
展开
-
【SDWebImage】 显示图片缓存大小和清除缓存
本文的前提是使用SDWebImage进行的图片缓存- (void)showCache { //size的单位是B,除以两次1024得到Mb CGFloat size = [[SDImageCache sharedImageCache] getSize]; CGFloat totalSize = size/1024.0/原创 2015-06-16 11:17:54 · 1387 阅读 · 0 评论 -
封装set方法
封装set方法@interface Student : NSObject{ // 成员变量尽量不要用@public // @public int age; //@public // 只读(readonly):只允许外界访问我的no,不允许外界修改我的no int no; // 只需要提供get方法}///* set方法 1.作用:转载 2015-05-21 11:19:09 · 1303 阅读 · 0 评论 -
iOS 为控件添加BadgeView(徽章,在元素上圆形的,有数字提示的小图标)
Demo下载:https://github.com/zhouxl/JSBadgeViewDemo使用方法:1.在你的项目中导入JSBadgeView.h和JSBadgeView.h文件2.添加系统框架 QuartzCore.framework3.在使用的类里导入 JSBadgeView.h 、 两个头文件4.在需要的地方添加badge处添加代码//此处alignm原创 2015-04-27 17:33:48 · 3459 阅读 · 0 评论 -
自定义构造方法
自定义构造方法@interface Person : NSObject@property NSString *name;@property int age;/* 自定义构造方法的规范 1.一定是对象方法,一定以 - 开头 2.返回值一般是id类型 3.方法名一般以initWith开头*/- (id)initWithName:(NSString *)name;- (id转载 2015-05-21 10:43:22 · 623 阅读 · 0 评论 -
代码块block
/* block要掌握的东西 1> 如何定义block变量 int (^sumBlock)(int, int); void (^myBlock)(); 2> 如何利用block封装代码 ^(int a, int b) { return a - b; }; ^() { NSLog(@"----------"); }; ^ { NSLog(@"----转载 2015-05-21 10:22:48 · 741 阅读 · 0 评论 -
super的作用
super的作用#import /* super的作用 1.直接调用父类中的某个方法 2.super处在对象方法中,那么就会调用父类的对象方法 super处在类方法中,那么就会调用父类的类方法 3.使用场合:子类重写父类的方法时想保留父类的一些行为 */// 僵尸@interface Zoombie : NSObject- (void)walk;+ (voi转载 2015-05-21 11:03:33 · 1289 阅读 · 0 评论 -
成员变量作用域
成员变量作用域/** * * @public : 在任何地方都能直接访问对象的成员变量 * @private : 只能在当前类的对象方法中直接访问(@implementation中默认是@private) * @protected : 可以在当前类及其子类的对象方法中直接访问 (@interface中默认就是@protected) * @package : 只要处在同一个框架中,转载 2015-05-21 10:47:51 · 730 阅读 · 0 评论 -
iOS项目的目录结构和开发流程
老规矩,向原作者致敬 原文链接:http://www.cocoachina.com/applenews/devnews/2014/0225/7879.html网上相关的资源不多,开源的且质量还不错的iOS项目也是少之又少,最近正好跟同事合作了一个iOS项目,来说说自己的一些想法。 目录结构AppDelegateModelsMacroG转载 2015-04-23 11:43:12 · 718 阅读 · 0 评论 -
Xcode 升级后,常常遇到的遇到的警告、错误,解决方法
从sdk3.2.5升级到sdk 7.1中间废弃了很多的方法,还有一些逻辑关系更加严谨了。1,警告:“xoxoxoxo” is deprecated解决办法:查看xoxoxoxo的这个方法的文档,替换掉这个方法即可。2,警告:Declaration of "struct sockaddr" will not be visible outside of this function转载 2015-04-23 11:49:39 · 1067 阅读 · 0 评论 -
UIActivityIndicatorView 详解
UIActivityIndicatorView 活动指示器,是系统自带的风火轮,用来指示某项活动正在进行中,如正在加载数据、正在进行网络请求等,具体属性和用法如下。一.创建 UIActivityIndicatorView* activity = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0, 0, 3原创 2015-05-28 15:44:18 · 1184 阅读 · 0 评论 -
tag 值的用法
对于使用静态的tag的视图,推荐使用“-”的,并且tag的范围小一点儿比较好。setTag:0这个最好不要用,因为有的时候superView的tag的默认是0因为对于整个程序来说,tag是全局的变量(类似),并不是在某个view,里面的viewOftag方法,而只调用本view里的相应的view,而是在内存中寻找只要live状态的,均会被调用。所以tag需要保证唯一性。如下所示:原创 2015-05-21 09:55:59 · 2329 阅读 · 0 评论 -
ARC模式设置
•在ARC环境下编译非ARC文件:-fno-objc-arc。•在非ARC环境下编译ARC文件:-objc-arc。•PROJECT—>TARGETS—>Build Phases— >Compile Source—>Compile Flags—>选中需要的 文件双击—>填写命令。原创 2015-05-21 10:02:49 · 1410 阅读 · 0 评论 -
从数组中随机取出4个不重复的数字
NSMutableArray *array = [[NSMutableArray alloc]initWithObjects:@"0", @"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",nil];for (int i = 0; i{ int arc = arc4random() % 10; NSS原创 2015-05-21 10:02:06 · 4228 阅读 · 0 评论 -
获取 window
(1)UIApplication * app = [UIApplication sharedApplication];ZYAppDelegate * appDelegate = app.delegate ;UIWindow * window = appDelegate.window ;(2)UIWindow *window = [UIApplication原创 2015-05-21 10:00:47 · 735 阅读 · 0 评论 -
iOS项目的完整重命名方法图文教程
前言:在iOS开发中,有时候想改一下项目的名字,都会遇到很多麻烦。直接改项目名吧,XCODE又不会帮你改所有的名字。总是有很多文件、文件夹或者是项目设置的项。而且都是不能随便改的,有时候改着改着,编译不了。所以各位重命名项目时,记得先备份好一份噢。本文我会介绍一种方法,是我自己参考了很多资料得出的总结。为什么说是完整呢?因为改名之后,你不会再看到任何有关于之前的项目名字。本文会把一转载 2015-04-27 09:28:20 · 825 阅读 · 0 评论 -
iOS Images.xcassets 的使用
新建项目,如下所示:本文分享一下Images.xcassets的体验~_~1. 打开此前使用过的HelloWorld项目,然后单击并打开导航区域中的Images.xcassets,看看都有些什么东东:]: 2. 在图中可以看到中间位置有两个虚线框,感觉应该可以直接拖文件进来。OK,那就先准备一下资源文件,如下图所示:说明:为方便起见,除I转载 2015-04-24 18:03:24 · 1608 阅读 · 0 评论 -
iOS Xcode6添加PCH
原文链接:http://blog.csdn.net/iosdevtip/article/details/40918353一直在用xcode6开发,但项目都是在xcode5上创建的,所以一直没注意到,xcode6竟然干掉pch文件了。为什么xcode6没有自动创建pch文件呢? 简单地看:我们在写项目的时候,大部分宏定义,头文件导入都在这里,Xcode6去掉Precompil转载 2015-04-23 10:55:47 · 695 阅读 · 0 评论 -
iOS NSLog
原文:http://coder-lee.lofter.com/post/3b0173_1341107要输出的格式化占位:%@ 对象%d, %i 整数%u 无符整形%f 浮点/双字%x, %X 二进制整数%o 八进制整数%zu size_t%p 指针%e 浮点/双字 (科学计算)%g 浮点转载 2015-04-23 11:45:17 · 930 阅读 · 0 评论 -
类方法与对象方法
类方法与对象方法/* 对象方法 1> 减号 - 开头 2> 只能由对象来调用 3> 对象方法中能访问当前对象的成员变量(实例变量) 类方法 1> 加号 + 开头 2> 只能由类(名)来调用 3> 类方法中不能访问成员变量(实例变量) 类方法的好处和使用场合 1> 不依赖于对象,执行效率高 2> 能用类方法,尽量用类方法 3> 场合:当方法内部不需要使用到成员变量转载 2015-05-21 11:11:34 · 695 阅读 · 0 评论 -
多态的经典实例
继承/* 1.继承的好处: 1> 抽取重复代码 2> 建立了类之间的关系 3> 子类可以拥有父类中的所有成员变量和方法 2.注意点 1> 基本上所有类的根类是NSObject *//********Animal的声明*******/@interface Animal : NSObject{ int _age; double _weight;}-转载 2015-05-21 10:59:26 · 789 阅读 · 0 评论 -
分类(类别)的应用 Category
/* 分类的作用:在不改变原来类内容的基础上,可以为类增加一些方法 使用注意: 1.分类只能增加方法,不能增加成员变量 2.分类方法实现中可以访问原来类中声明的成员变量 3.分类可以重新实现原来类中的方法,但是会覆盖掉原来的方法,会导致原来的方法没法再使用 4.方法调用的优先级:分类(最后参与编译的分类优先) --> 原来类 --> 父类 */#import "Person.h转载 2015-05-21 10:37:00 · 785 阅读 · 0 评论 -
iOS编程规范
1.原则 1.1 只遵循苹果公司发布代码中的主流代码风格,不参考任何第三方代码。 2.命名规范 2.1 变量、类名、函数名使用波浪式命名法,即碰到一个新的单词则使用大写字母开头,尽量使用完整的单词命名,尽量不采用缩写的单词命名; 2.2 全局变量使用 g_ 作为变量名前缀,静态变量使用 s_ 作为变量名前缀,其它情况不使用C/C++语言所提倡的匈牙利命名法;转载 2015-04-23 10:03:01 · 891 阅读 · 0 评论 -
软件的版本简称
Trial:试用版Retail:零售版Free: 免费版 Full: 完全版Alpha:内部测试版Beta: 测试版,对外公布 Final:正式版或最终版,终结版Pro: 专业版Plus:加强版Delux:豪华版原创 2015-04-23 13:58:37 · 899 阅读 · 0 评论 -
App切图以及Icon和启动图片的命名规范
公司的美工实习妹子,每次给的切图命名都好蛋疼有木有~自己整理一份命名规范,自己命名好了,自己动手,丰衣足食嘛!/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////转载 2015-04-27 09:49:48 · 8113 阅读 · 0 评论 -
百度地图在某架构下找不到符号.a文件的问题
1.现象:就是说找不到符号给i386的架构(就是模拟器)。或者找不到符号给arm架构(真机)。ld: warning: ignoring file /Users/pufang/xcode/demo/baidumap/lib/libs/Release-iphoneos/libbaidumapapi.a, missing required architecture i386 in fi转载 2015-04-24 17:59:02 · 1081 阅读 · 0 评论 -
出现( linker command failed with exit code 1)错误总结
这种问题,通常出现在添加第三方库文件或者多人开发时。这种问题一般是找不到文件而导致的链接错误。 我们可以从如下几个方面着手排查。1.以如下错误为例,如果是多人开发,你同步完成后发现出现如下的错误。[html] view plaincopyUndefined symbols for architecture转载 2015-04-24 17:55:19 · 793 阅读 · 0 评论 -
iOS 小技巧之-Zombie Enable
原文;http://coder-lee.lofter.com/post/3b0173_140384f我们项目运行的时候经常有莫名奇妙的Crash。这个让大家很是头疼,一般造成的原因,我们根据log日志都能看的,有的野指针crash不显示的话,可以用设置僵尸Zombie,我这里特别将下Xocde5如何设置。首先点击Edit Scheme。然后在Diag转载 2015-04-23 11:26:30 · 875 阅读 · 0 评论 -
【SDWebImage】检测有没有缓存图片和把图片保存到相册
NSURL *url = [NSURL URLWithString:model.imageUrl]; SDWebImageManager *manager = [SDWebImageManager sharedManager]; UIImage *img; if ([manager diskImageExistsForURL:url]) { img原创 2015-06-16 11:13:18 · 6549 阅读 · 0 评论 -
iOS 工程禁止屏幕旋转
在AppDelegate.m 中添加如下代码- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{ if (UI_USER_INTERFACE_IDIOM() == UIUserInterface原创 2015-05-21 18:22:52 · 1067 阅读 · 0 评论 -
交换视图层次方法
•根据子视图添加的先后,生成的索引去交换子视图的层次[self.window exchangeSubviewAtIndex:0 withSubviewAtIndex:1]•从父视图移除子视图 [redView removeFromSuperview]; •在指定的索引位置,插入子视图[self.window insertS原创 2015-05-21 10:04:59 · 600 阅读 · 0 评论 -
使用Settings Bundle为程序添加设置项
原文:http://coder-lee.lofter.com/post/3b0173_2d8d283Settings Bundle是在自己的程序中建立的一组文件,利用它可以告诉设备中的Settings程序我们写的程序有哪些设置项。用户在Settings程序中设置好相关相关选项后回到我们自己的程序,自己的程序中的对应项也会发生相应的变化。在iOS程序中,用户默认项,即上面所说的设转载 2015-04-23 11:11:43 · 754 阅读 · 0 评论 -
继承的经典实例
多态的经典实例/* 多态 1.没有继承就没有多态 2.代码的体现:父类类型的指针指向子类对象 3.好处:如果函数\方法参数中使用的是父类类型,可以传入父类、子类对象 4.局限性: 1> 父类类型的变量 不能 直接调用子类特有的方法。必须强转为子类类型变量后,才能直接调用子类特有的方法 */// 动物@interface Animal : NSObject- (void)e转载 2015-05-21 10:51:56 · 608 阅读 · 0 评论 -
属性和成员变量在.h文件和.m文件区别
属性和成员变量在.h文件和.m文件区别属性在.h文件中和在.m中声明是有区别的。区别就是: 在.h文件中声明的属性,外部类可以通过“类实例.属性”来调用, 但在.m中声明的则不可以,获取和设置的方法,只能是通过setValue:forKey和valueForKey来实现。成员变量,有三种权限,就是大家都知道的@private、@protected、@public ,写在.m转载 2015-05-21 10:12:34 · 2076 阅读 · 0 评论 -
iphone开发技术要学习的内容
一.iOS基础 1 开发环境搭建以及IOS组件、框架的概要介绍。 2 mac操作系统与iOS操作系统 3 xcode IDE开发环境的初始二.C语言基础 1数据类型、表达式与控制流程语句 2数组、函数与编译预处理 3 详解指针 4 结构体、联合体三.OC语言 1、类、对象和方法 2、封装、继承转载 2015-05-29 13:27:19 · 735 阅读 · 0 评论 -
【swift_0】认识swift和创建一个swift工程
一.关于swiftSwift是一种适用于iOS和OS X应用的全新编程语言,它建立在最好的C和Objective-C语言之上,并且没有C语言的兼容性限制。Swift采用安全的编程模式,增加了现代功能使编程更容易、更灵活、更有趣。Swift以成熟且备受宠爱的Cocoa和Cocoa Touch框架为支撑,这是一个重新构想软件开发的机会。 Swift经过了数年的酝酿,Apple通过改进现原创 2015-06-18 10:27:22 · 1956 阅读 · 0 评论 -
iOS开发的一些奇巧淫技...
TableView不显示没内容的Cell怎么办?类似这种,我不想让下面那些空的显示.很简单.[objc] view plaincopyself.tableView.tableFooterView = [[UIView alloc] init]; 试过的都说好.加完这句之后就变成了这样.转载 2015-06-02 21:57:42 · 769 阅读 · 0 评论 -
makeKeyAndVisible的作用
[self.window makeKeyAndVisible];由于iPhone是单窗口程序,所以也就只有这么一个Window对象,而且是UIWindow,不是NSWindow。而根据文档上所说:“这个是便捷方法,去使被使用对象的主窗口显示到屏幕的最前端。你也可以使用hiddenUIView方法隐藏这个窗口”所以基本上来说,对于编程者的区别仅仅在于在其前添加代码,或在其后添加代转载 2015-06-23 10:37:59 · 1839 阅读 · 0 评论 -
【iOS百度地图系列_1】在地图上定位当前位置
定位几乎是所有LBS应用必备的一个功能,本文就来讲述一下,百度地图中定位功能的实现。有关基本地图的实现请参考 【iOS百度地图系列_0】百度地图的配置及实现基本地图。1.用到的代理 2.在vieDidLoad中//设置定位精确度,默认:kCLLocationAccuracyBest [BMKLocationService setLocationDesired原创 2015-06-01 18:54:19 · 4834 阅读 · 0 评论 -
【iOS百度地图系列_0】百度地图的配置及实现基本地图
百度地图也是iOS开发工程中常用功能之一,随着iOSSDK的版本更新以及百度地图SDK的更新,现在的百度SDK的使用也发生了一些变化。本文背景iOSSDK8.3,百度地图SDK版本V2.0.2。本文参考文档为官方开发指南,开发时请仔细阅读。http://developer.baidu.com/map/index.php?title=iossdk OK,下面开始介绍百度地图配置的详细步骤。原创 2015-06-01 18:05:36 · 1173 阅读 · 0 评论 -
【iOS百度地图系列_2】卫星图、交通图、热力图及在基本地图上添加覆盖物
有关基本地图的实现参考 【iOS百度地图系列_0】百度地图的配置及实现基本地图 1.卫星图//切换为卫星图 [_mapView setMapType:BMKMapTypeSatellite];由卫星图切换为普通矢量图的核心代码如下://切换为普通地图 [_mapView setMapType:BMKMapTypeStand原创 2015-06-03 10:55:53 · 3803 阅读 · 1 评论