关闭

Runtime的简单使用

有一个Person类@interface Person : NSObject @property (nonatomic, copy) NSString * name; @property (nonatomic, copy) NSString * adress; - (NSString *)first; - (NSString *)second; @end@implementation Person-...
阅读(129) 评论(0)

iOS本地化(跟随系统语言变化)

目的:App中的显示语言根据系统语言的变化而变化 xcode版本:7.3一.App名称本地化1.新建一个source文件,选择string files,文件命名为InfoPlist(必须是这个名字,否则无效) 2.新增本地化语言类型,步骤如下,选择简体中文 3.选中InfoPlist.string文件,然后右侧点击,选择Chinese 确定后该文件会变为2个,如图 4.在对应文件内写入如下...
阅读(725) 评论(1)

iOS横屏处理

1.让整个项目支持横屏 2.对于单个viewcontroller,直接实现下面的方法- (BOOL)shouldAutorotate { //支持旋转 return YES; } - (UIInterfaceOrientationMask)supportedInterfaceOrientations { //支持的方向 return UIInterfaceOr...
阅读(211) 评论(0)

堆和栈的区别

(1)管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由程序员控制,容易产生 memory leak。(2)申请大小:能从栈获得的空间较小,堆是向高地址扩展的数据结构,是不连续的内存区域。堆的大小受限于计算机系统中 有效的虚拟内存。由此可见,堆获得的空间比较灵活,也比较大。(3)碎片问题:对于堆来讲,频繁的new/delete势必会造成内存空间的不连续,从而造成大量的...
阅读(162) 评论(0)

Autolayout常见选项说明

1.如图,从一个view按住control水平拖动到另一个view的时候,会出现一些选项: horizontal spacing:设置2个view之间的水平距离 top:设置2个view的顶部对齐 center vertically:设置2个view的中心水平对齐 baseline:基线对齐(对于label来说,是指文本的底部对齐) bottom:2个view的底部对齐2.如果斜向拉到...
阅读(151) 评论(0)

如何处理Tableview中cell的单选问题

首先声明几个属性@property (nonatomic, strong) NSMutableArray * dataArr; //数据源 @property (nonatomic, copy) NSString * current; //数据源中对象 @property (nonatomic, assign) NSInteger currentIndex; //当前点击的cell的索...
阅读(227) 评论(0)

Automatic Preferred Max Layout Width before iOS8.0 解决探索

项目中有时会出现这个警告”Automatic Preferred Max Layout Width before iOS8.0”,一般是在项目的xib文件(或storyboard中),这是Label的一个属性导致的. 对应的属性为preferredMaxLayoutWidth,这个属性的作用如下: This property affects the size of the label whe...
阅读(1028) 评论(0)

iOS定位

1.引入头文件#import 2.定义2个属性@property (nonatomic, strong) CLLocationManager * locationManager; @property (nonatomic, strong) CLGeocoder * geocoder;3.开始- (IBAction)startLocation:...
阅读(227) 评论(0)

delegate,notification,kvo比较

delegate(委托)delegation的基本特征是,一个controller定义了一个协议(即一系列的方法定义)。该协议描述了一个delegate对象为了能够响应 一个controller的事件而必须做的事情。协议就是delegator说,“如果你想作为我的delegate,那么你就必须实现这些方法”。实现 这些方法就是允许controller在它的delegate能够调用这些方法,而它的de...
阅读(258) 评论(0)

iOS9.0修改状态栏颜色

1.plist添加一个字段 View controller-based status bar appearance,类型为Boolean,设置位no 2.将plist里面的字段Status bar style的值设置为UIStatusBarStyleLightContent. 这样就可以将状态栏设置为白字黑背景...
阅读(4305) 评论(0)

三种排序算法的 C 语言实现

选择排序 int a[10] = {0}; int minIndex = 0; for (int i = 0; i < 10; i++) { a[i] = arc4random() % 101; printf("%d\t",a[i]); } printf("\n"); for (int i = 0; i < 10 - 1; i...
阅读(252) 评论(0)

自定义类实现 copy 协议

对于 NSString 和 NSArray,因为已经实现了 NSCopying 协议的相关方法,因此可以直接调用 copy方法,而对于自定义类,因为没有接受和实现 NSCopying协议,不能直接调用 copy 方法,需要自己实现协议中的相关方法,以下为简单示例: 以 Person 类为例.@interface Person : NSObject //需要接受NSCopyi...
阅读(290) 评论(0)

浅拷贝和深拷贝

浅拷贝和深拷贝的区别在于拷贝后是重新复制了一个新对象,还是说只是增加了一个新的指向原对象的指针. 这里以字符串和数组,字典为例. 1.对于不可变的字符串,数组和字典来说,向其发送 copy 信息,即[obj copy],拷贝后得到的是一个不可变的对象,并且拷贝并没有将原对象进行复制.这是浅拷贝. //对于不可变的 NSString, NSArray, NSDictionary,进行拷贝,是浅...
阅读(309) 评论(0)
    个人资料
    • 访问:13603次
    • 积分:294
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:0篇
    • 译文:1篇
    • 评论:1条
    文章分类
    最新评论