ios
南之倩倩
好吧,我是IT FARMER!
展开
-
Mac OSX10.11 Xcode7安装模拟器8.1 和 8.2 失败 解决方法
升级Xcode7后,发现模拟器iOS7.x 的都不能使用,iOS8.x 也不能使用了。 解决方法: 将本地的模拟器都删除掉,然后再去下载。(怎么删除和 怎么下载,不知道地方的,可以给我留言) 但是还是发现有一个问题, 发现下载iOS8.1 和 8.2 的时候,下载完成了,但是安装的时候提示“Could not download and install iOS 8.1原创 2015-10-14 16:38:57 · 2851 阅读 · 1 评论 -
ceil命令 floor命令
Math中一个算法命令。函数名: ceil用 法: double ceil(double x);功 能: 返回大于或者等于指定表达式的最小整数头文件:math.hfloat f = 1.2222;NSLog(@"f is %f.",ceil(f));打印: f is 2.000000.函数名: floor功 能: 返回小于或者原创 2015-03-18 21:36:46 · 1496 阅读 · 0 评论 -
给UIView 设置透明度,不影响其他sub views
给UIView 设置透明度,不影响其他sub viewsUIView设置了alpha值,但其中的内容也跟着变透明。有没有解决办法?方法:1 . 设置background color的颜色中的透明度 [self.testView setBackgroundColor:[UIColor colorWithRed:0.0 green:1.0 blue:1.0 alpha:0.5]];设置了color的al原创 2015-03-27 19:13:10 · 6242 阅读 · 0 评论 -
使用AutoLayout布局2个button居中
(1)设置2个button的上,左,右的距离。(2)并将第一个button的左边距离设置为优先级为250, 第二个button的右边距离设置为优先级250.(3)选中2个button,设置horizontal center in container。(4)设置完成后,点击系统的红色箭头,点击任意一个黄色提示。(5)在弹出框中,选择update constraints 并选择下面的A原创 2014-10-28 20:42:27 · 2926 阅读 · 0 评论 -
UITabBarController记录
UITabBarController可以放到一个UINavigationController中。这样就有一个导航栏了。但是这个方案好像有一点点的异常。 一般还是采用给UiTabBar中每个viewController中添加一个UINavigationController,然后每个viewController自己控制navigation。 UITabBarController底部有一个U原创 2014-03-01 10:33:18 · 1047 阅读 · 0 评论 -
获取路径
iOS获取路径// 获取程序Documents目录路径NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);NSString *documentsDirectory = [paths objectAtIndex:0];// 获取程原创 2014-02-10 14:30:38 · 668 阅读 · 0 评论 -
NSArray和NSDictionary添加一个null值
NSArray,NSDictionary以及他们的可变版本都不可以直接插入nil或者null值,所以我们使用NSNull来占位,使用[NSNull null].原创 2014-02-10 14:07:20 · 1111 阅读 · 0 评论 -
IOS xcode学习札记
1。 xcode左边的目录中,文件夹为黄色,说明在物理目录上不存在,只是一个显示使用。原创 2013-12-10 23:44:44 · 1219 阅读 · 0 评论 -
10个重要的算法C语言实现源代码
包括拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔 。都是经典的数学算法,希望能开托您的思路。转自kunli.info1.拉格朗日插值多项式 ,用于离散数据的拟合C/C++ code#include stdio.h> #include conio.h> #include alloc.h> float lagrange(float转载 2014-01-04 22:23:26 · 798 阅读 · 0 评论 -
NSJSONSerialization 转换时 类型注意
进行JSON转化的时候,需要满足一下的要求。An object that may be converted to JSON must have the following properties:The top level object is an NSArray or NSDictionary.All objects are instances of NSString, NSN原创 2015-03-18 17:14:47 · 845 阅读 · 0 评论 -
StoryBoard 场景下 添加UIView
NIBstoryBoard UIView在storyboard中添加view,采用新建UIView的SecondView.h和SecondView.m,然后创建一个SecondView.xib文件,此文件class为SecondView。 进行属性outlet的链接。加载此Xib采用,NSArray *test = [[NSBundlemainBundle] lo原创 2015-03-18 17:35:58 · 2009 阅读 · 0 评论 -
Core Data 属性介绍
Core Data 属性介绍Model Classes 名称 类 说明 Managed Object Model NSManagedObjectModel 数据模型 Entity NSEntityDescription 抽象数据类型,相当于数据库中的表 Property NSPropertyDescription Entity 特性,相当于数据库表中的一原创 2015-03-18 22:17:54 · 594 阅读 · 0 评论 -
iOS7 采用 Auto Layout后获取frame
autoLayout 需要在- (void)viewDidLoad 方法执行完后生效,所以需要在- (void)viewDidAppear:(BOOL)animated 方法中再进行frame的获取,此时才能取到正确的frame。 所以一般进行frame的操作,可以放到viewDidAppear 方法中进行。原创 2015-03-18 17:01:49 · 1496 阅读 · 2 评论 -
调整leftBarButtonItem 的位置
如果不知道leftBarButtonItem的值,那么默认push后,显示的是Back按钮,如 如果设置了leftBarButtonItem的值,如UIBarButtonItem *leftButon = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"BackButton"] style:UIBa原创 2015-03-18 16:46:01 · 10798 阅读 · 1 评论 -
Xcodewin的快捷键
Xcode收起代码的快捷键, :Xcode将一段代码收起来的快捷键为 win + alt + ←。展开为win + alt + →。Xcode左右移动代码的快捷键:将选中的代码左移 win + [ 右移 win + ]原创 2015-03-18 21:41:35 · 635 阅读 · 0 评论 -
Block使用注意点
block的格式:typedef void (^ArrayEnumerateBlockType)(id, NSInteger, BOOL*);外部变量的使用:基本数据类型在block中的地址已经发生变化,所以block体外对于此数据类型的值修改对于体内的值毫无影响。block所copy或retain的变量,一旦block结束,也就一起跟着被释放和销毁了。所谓的block会进行retain的指原创 2015-03-24 14:49:15 · 670 阅读 · 0 评论 -
判断自定义类是否重复
判断自定义类是否重复自定义类库中,需要重写NSObject的两个固定方法来判断类是否重复:– (BOOL)isEqual:(id)anObject;–(NSUInteger)hash;原创 2015-03-18 22:26:29 · 609 阅读 · 0 评论 -
延长APP的启动时间
延长APP的启动时间- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ [NSThread sleepForTimeInterval:3.0f]; return YES;}这样就会等待3秒,然后运行APP。主要用在需要原创 2015-03-18 21:52:20 · 871 阅读 · 0 评论 -
IOS开发-关闭/收起键盘方法总结
前言:作为IOS开发人员,需要经常和表单打交道。因此我对收起键盘的方法作了下总结,IOS收起键盘有三种方法(如果有其它收起键盘的方法请在留言区指错)。1、点击Return按扭时收起键盘- (BOOL)textFieldShouldReturn:(UITextField *)textField{ return [textField resignFirstResponder]转载 2015-03-18 16:13:42 · 671 阅读 · 0 评论 -
Mac程序开发基础:打开一个目录的方法
下面是一个Mac开发小例子:编写程序打开一个目录,希望对新手有所帮助1, 获得一个打开窗口对象 NSOpenPanelNSOpenPanel *oPanel = [NSOpenPanel openPanel]; //快捷建立方式不用释放, 我还记得, 你呢?2, 设置这个对象的参数 [oPanel setCanChooseDirectories:YE转载 2014-01-04 22:09:59 · 1845 阅读 · 0 评论 -
OC 重构类名
如果需要更换类名,在类名上点击右键,选择重构,再选择rename就可以了。原创 2013-12-05 23:28:55 · 903 阅读 · 0 评论 -
通知中心 NSNotificationCenter
创建一个通知中心NSNotificationCenter *center = [NSNotificationCenter defaultCenter];一个单例的获取。 消息的对象为NSNotification.实现一个发送广播和接受广播。原创 2013-10-15 23:11:57 · 777 阅读 · 0 评论 -
单例 singleton
共享数据,OC中的一个全局变量。 static ThemeManager *s;+ (id) sharedThemeManager{ if ( nil == s ) { s = [[[self class] alloc] init]; } return s;}对象只有一份。 一般不建议用ThemeMa原创 2013-10-15 22:49:01 · 558 阅读 · 0 评论 -
OC的方法都是虚方法--- 虚函数
1、 父类的指针可以指向子类的对象。 但是调用方法时调用的子类的方法。 2。调用方法不看指针,看对象。 (好处:不同事物被相同事件触发,产生不同的结果)3。原创 2013-10-13 18:18:56 · 3037 阅读 · 0 评论 -
OC 继承
继承是一个集合的关系,谁包含谁。 子类中,包含父类和自己的变量。 自己的变量,这些叫 派生。 父类 超类 基类子类 子类 派生类 @private 不可被外部函数使用, 也不能被子类继承@protected 不能被外部函数使用, 但是可以被子类继承@public 可以被外部函数使用, 可以被子类继承 OC中所有的成员原创 2013-10-13 13:05:40 · 874 阅读 · 0 评论 -
NSData 札记
NSData 写入文件和发送到网上时,转化为NSData的字节流, 1和0的内容。 同 char *buf = @""; 对中文就存在一个字符编码的问题了。NSString *str = @"Hello World!!!";NSData *data = [str dataUsingEncoding: NSUTF8StringEncoding]:;原创 2013-10-13 12:34:51 · 819 阅读 · 0 评论 -
NSValue 札记
NSNumber是将基础类型保存为对象。 NSValue为NSNumber的父类。用来保存指针和结构体。 NSValue 也是类簇,都是不同类的对象,但是都可以用NSValue来表示。 获取基本类型的objCType , @encode(char *) 也可以对 CGPoint, CGSize, CGRect , NSRange进行处理。原创 2013-10-13 12:21:56 · 774 阅读 · 0 评论 -
nsnumber 札记
在nsarray和nsmutablearray的保存元素,只能保存oc对象,不能保存基础类型,所以要将基础类型转换为nsnumber。 NSNumber *intNumber = [[NSNumber alloc] initWithInt: 5]; //将整型转化为nsnumber的整型数 float和double,char也一样处理。 NSNumber 是一个类簇。原创 2013-10-13 10:56:49 · 701 阅读 · 0 评论 -
retain和copy,深拷贝和浅拷贝
retain,仅仅是引用系数+1,指针拷贝 copy,对不可变的则指针拷贝,引用系数+1,而可变的则创建新对象,retaincout为1 浅拷贝 指针的拷贝深拷贝 内容的拷贝 copy返回不可变(string,array,dictoinary) mutalbecopy返回可变的 如果array,只要元素有一个为可变的,那这个数组就是可变的,copy和muta原创 2013-10-10 23:08:07 · 745 阅读 · 0 评论 -
ios的函数重载
OC语言支持重载,但是与C++的重载的不一样,C++的重载是根据参数的类型来判断的,但是OC语言了是根据参数的标签名来判断。原创 2013-09-08 23:57:33 · 1798 阅读 · 0 评论 -
blocks用法
block的定义:int (^BFunc) (int a);c的回调函数为 : int (*CFunc) (int a); 使用为 int ret = BFunc(100); int ret = CFunc(100); Blocks typedef 定义typedef int (^SumBlockT)(int a, int b);原创 2013-10-16 23:23:51 · 979 阅读 · 0 评论 -
kvc (key value coding)
举例说明用法使用2个类 playItem playList在playItem中定义2个变量 NSString *name; float price;在类中实现一个方法-(void)setValue:(id)value forUndefinedKey:(NSString *)key{ }在playList中定义4个变量 int number; NS原创 2013-10-19 22:44:06 · 736 阅读 · 0 评论 -
NSSet 札记
集合 NSSet 与NSArray一样, 所有的元素都可以是任意的对象。 但是NSSet保存的元素是不连续并无序的。在搜素元素时,比NSArray的效率高,因为用到了Hash算法。 也有NSMutableSet。 NSIndexSet 指数集合 索引集合: 装的都是数字原创 2013-10-13 12:02:52 · 746 阅读 · 0 评论 -
angry Birds 学习札记
AnchorPoint锚点: 1. CGPoint 有x和y的坐标。锚点是在0.0f-1.0f之间,缺省为0.5-0.5. ccp(0.5,0.5)。 使用的数学系的坐标,左下角为0.0-0.0, 0.5-0.5 就是在中心。 锚点就是一个小数,Position就是图片的大小乘以锚点的小数的值(也使用数学系坐标)。2. 锚点和图片的等比例变大。图片变大会根据锚点等比例原创 2013-11-05 23:26:12 · 945 阅读 · 0 评论 -
category 类别
类别 category的缺点: 只能扩展函数,消息,不能扩展字段,变量等。一般category的命名规范 要扩展类名+扩展变量.[hm]比如: NSString+ReverseString.[hm]在h文件中#import @interface NSSring(reverse)-(NSString *)reverseString;@end在m文原创 2013-10-20 23:32:04 · 892 阅读 · 0 评论 -
IOS 文件操作
文件操作:1。 对文件本身的操作。 NSFileManager2. 对 文件内容的操作 NSFileHandle文件本身操作,就如linux命令行的 rm, ls 等操作 。文件管理器NSFileManager *fm = [NSFileManager defaultManager]; //创建一个单例的file manage原创 2013-10-19 23:23:42 · 830 阅读 · 0 评论 -
UITableView reloadData的正确方法
相信很多人会遇到这种情况,当tableView正在滚动的时候,如果reloadData,偶尔发生App crash的情况。 这种情况有时候有,有时候没有,已经难倒了很多人。直至今天,我在stackoverflow上面,仍没有发现真正有说到其本质的帖子。我的处女贴,选择这个问题来阐述一下我的观点。第一句话,阐述问题的本质:在tableView的dataSource被改变 和 tableVie转载 2013-10-20 08:43:29 · 10019 阅读 · 0 评论 -
深拷贝和浅拷贝
浅拷贝和深拷贝,不是copy和mutableCopy的区别,而是看是否进行内容的拷贝。 copy 浅拷贝,retain,就是对对象的拷贝,对象的内容不拷贝。deep copy 深拷贝, 就是对对象和对象的内容的拷贝。 copy和mutableCopy遵守NSCoping或NSMumtableCoping协议。需要实现- (id)copyWithZone:(NSZ原创 2013-10-13 18:34:07 · 1047 阅读 · 0 评论 -
KVO 对象间的通讯
个对象:BankObject @property int accountBalance PersonObject获取一个随机数,可以使用:(指向自己的指针)static void *OpeningBalance = (void *)&OpeningBalance; 两个对象建立连接:(注册监听对象) account是PersonObj原创 2013-10-19 10:47:13 · 794 阅读 · 0 评论 -
NSThread和dispatch_async用法和区别
//启动线程 // [NSThread detachNewThreadSelector:@selector(downloadImage:) toTarget:self withObject:ImageURL]; dispatch_queue_t newThread = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORI转载 2013-10-20 09:27:39 · 1666 阅读 · 0 评论