一:NSString与NSInteger的互换

  1. NSInteger转化NSString类型:[NSString stringWithFormat: "%d" NSInteger];
  2.  
  3. NSString转化 NSInteger类型:NSInteger = [NSString intValue];
  4.  
  5. *其它几个同理 [NSString boolValue]、[NSString floatValue]、[NSString doubleValue]

二:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可以存放,就是类NSNumber

  1. a. NSNumber的用法如下
  2.  
  3. 把基本类型包装成对象的便利构造函数
  4.  
  5. -(id) initWithChar : (char) value;
  6.  
  7. -(id) initWithInt : (int) value;
  8.  
  9. -(id) initWithFloat : (float) value;
  10.  
  11. -(id) initWithBool: (BOOL) value;
  12.  
  13. 把基本数据类型包装成对象的便利构造器
  14.  
  15. +(id) numberWithChar : (char) value;
  16.  
  17. +(id) numberWithInt : (int) value;
  18.  
  19. +(id) numberWithFloat : (float) value;
  20.  
  21. +(id) numberWithBool : (BOOL) value;
  22.  
  23. NSNumber中获取值
  24.  
  25. -(char) charValue; -(int) intValue; -(float) floatValue; (BOOL) boolValue; (NSString *) stringValue;

b、在集合类中是不可以存储nil(空的),因为nil作为nil的结束符,那么我们如何来存储空对象呢?该NSNull出场啦,其功能是把null包装成对象,

+(NSNull *) null;

三:NSDATA与NSString互转

NSData,数据,当我们需要把一些信息写入到文件里或发送到网络上,我们需要把这些数据转换下,变成纯粹的0、1字符流

  1. NSString * str = @"hello, world!";
  2. NSData * data = [str dataUsingEncoding:NSUTF8StringEncoding]; //NSString转换成NSData类型
  3. NSLog(@"%s", data.bytes);
  4. NSString * newStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
  5. NSLog(@"%@", newStr);

四:去除输入框空格(NSString也适用)

  1. 去除两端空格
  2.  
  3. NSString *temp = [textField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
  4.  
  5. 去除两端空格和回车
  6.  
  7. NSString *text = [temp stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet ]];

五:IBOutlet,IBAction说明

实例:

@property(weak,nonatomic) IBOutlet UITextField *textFile1;

@property(weak,nonatomic) IBOutlet UILabel *lable1; -(IBAction)save:(id)sender;

IBOutlet 输出口是使用关键字IBOutlet声明的实例变量。控制器头文件中的输出口声明应如下所示: 在实例变量声明前添加了IBOutlet语句,这表示对象在Interface Builder中创建的。一旦将对象链接到一个出口, 就可以像访问任何自己创建的对象一样访问它。就编译器而言,IBOutlet并未执行任何操作。它的唯一作用是告诉Interface Builder,此实例变量将被连接到nib中的对象。你创建的任何需要连接到nib文件中的对象 的实例变量都必须以IBOutlet关键字开头。打开Interface Builder时,它会在项目头文件中扫描此关键字,你可以根据这些(且只能根据这些)变量将代码连接到nib。

IBOutlet关键字的定义如下所示:

#ifndef IBOutlet

#define IBOutlet

#endif

IBAction 操作是控制器类中的方法。它们也是通过特殊关键字IBAction声明的,该关键字告诉Interface Builder,此方法是一个操作,且可以被某个控件触发。

6:获取UIColor的RGBA值

  1. UIColor *color = [UIColor colorWithRed:0.2 green:0.3 blue:0.9 alpha:1.0];
  2. const CGFloat *components = CGColorGetComponents(color.CGColor);
  3. NSLog(@"Red: %.1f", components[]);
  4. NSLog(@"Green: %.1f", components[]);
  5. NSLog(@"Blue: %.1f", components[]);
  6. NSLog(@"Alpha: %.1f", components[]);

 7:修改textField的placeholder的字体颜色、大小

  1. [self.textField setValue:[UIColor redColor] forKeyPath:@"_placeholderLabel.textColor"];
  2. [self.textField setValue:[UIFont boldSystemFontOfSize:] forKeyPath:@"_placeholderLabel.font"];

 8:NSString进行URL编码和解码

  1. NSString *string = @"http://abc.com?aaa=你好&bbb=tttee";
  2.  
  3. //编码 打印:http://abc.com?aaa=%E4%BD%A0%E5%A5%BD&bbb=tttee
  4. string = [string stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
  5.  
  6. //解码 打印:http://abc.com?aaa=你好&bbb=tttee
  7. string = [string stringByRemovingPercentEncoding];

 9:屏蔽触发事件,2秒后取消屏蔽

  1. [[UIApplication sharedApplication] beginIgnoringInteractionEvents];
  2. dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)( * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
  3. [[UIApplication sharedApplication] endIgnoringInteractionEvents]
  4. });

IOS开发基础知识--碎片1的更多相关文章

  1. IOS开发基础知识碎片-导航

    1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可 ...

  2. IOS开发基础知识--碎片33

    1:AFNetworking状态栏网络请求效果 直接在AppDelegate里面didFinishLaunchingWithOptions进行设置 [[AFNetworkActivityIndicat ...

  3. IOS开发基础知识--碎片42

    1:报thread 1:exc_bad_access(code=1,address=0x70********) 闪退 这种错误通常是内存管理的问题,一般是访问了已经释放的对象导致的,可以开启僵尸对象( ...

  4. IOS开发基础知识--碎片50

      1:Masonry 2个或2个以上的控件等间隔排序 /** * 多个控件固定间隔的等间隔排列,变化的是控件的长度或者宽度值 * * @param axisType 轴线方向 * @param fi ...

  5. IOS开发基础知识--碎片3

    十二:判断设备 //设备名称 return [UIDevice currentDevice].name; //设备型号,只可得到是何设备,无法得到是第几代设备 return [UIDevice cur ...

  6. IOS开发基础知识--碎片11

    1:AFNetwork判断网络状态 #import “AFNetworkActivityIndicatorManager.h" - (BOOL)application:(UIApplicat ...

  7. IOS开发基础知识--碎片14

    1:ZIP文件压缩跟解压,使用ZipArchive 创建/添加一个zip包 ZipArchive* zipFile = [[ZipArchive alloc] init]; //次数得zipfilen ...

  8. IOS开发基础知识--碎片16

    1:Objective-C语法之动态类型(isKindOfClass, isMemberOfClass,id) 对象在运行时获取其类型的能力称为内省.内省可以有多种方法实现. 判断对象类型 -(BOO ...

  9. IOS开发基础知识--碎片19

    1:键盘事件顺序 UIKeyboardWillShowNotification // 键盘显示之前 UIKeyboardDidShowNotification // 键盘显示完成后 UIKeyboar ...

  10. IOS开发基础知识--碎片40

    1:Masonry快速查看报错小技巧 self.statusLabel = [UILabel new]; [self.contentView addSubview:self.statusLabel]; ...

随机推荐

  1. javascript运动系列第二篇——变速运动

    × 目录 [1]准备工作 [2]加速运动 [3]重力运动[4]减速运动[5]缓冲运动[6]加减速运动[7]往复运动[8]变速函数 前面的话 前面介绍过匀速运动的实现及注意事项,本文在匀速运动的基础上, ...

  2. ASP.NET MVC之JsonResult(六)

    前言 这一节我们利用上节所讲Unobtrusive Ajax并利用MVC中的JsonResult来返回Json数据. JsonResult 上节我们利用分部视图返回数据并进行填充,当我们发出请求需要获 ...

  3. 解决HubbleDotNet搜索引擎索引数据不全的问题

    HubbleDotnet是国产.NET平台搜索引擎的翘楚,开放源代码,使用方便,不过我一直在非生产环境下使用.官方网页在HubbleDotNet开源全文搜索数据库项目--技术详解. 以前当数据库使用M ...

  4. 如何用C#代码判断一个类的类型

     var s = "";  s.GetType().IsClass; 来自为知笔记(Wiz)

  5. 升级 Visual Studio 2015 CTP 5 的坑、坑、坑

    前两天,微软发布了 Visual Studio 2015 CTP 5,全称为 Visual Studio 2015 Community Technology Preview 5,意为社区技术预览版,之 ...

  6. C算法编程题(二)正螺旋

    前言 上一篇<C算法编程题(一)扑克牌发牌> 写东西前总是喜欢吐槽一些东西,还是多啰嗦几句吧,早上看了一篇博文<谈谈外企涨工资那些事>,里面楼主讲到外企公司包含的五类人,其实不 ...

  7. Android ViewPager切换之PageTransformer接口中transformPage方法解析

    今天让我们了解一下,Android3.0之后ViewPager切换时候的一个动画.Google给我们展示了两个动画例子:DepthPageTransformer和ZoomOutPageTransfor ...

  8. Go语言异常处理defer\panic\recover

    Go语言追求简洁优雅,所以,Go语言不支持传统的 try…catch…finally 这种异常,因为Go语言的设计者们认为,将异常与控制结构混在一起会很容易使得代码变得混乱.因为开发者很容易滥用异常, ...

  9. C#基础-FileStream

    一.FileStream的基础知识 属性:          CanRead 判断当前流是否支持读取,返回bool值,True表示可以读取          CanWrite 判断当前流是否支持写入, ...

  10. 异步编程系列第02章 你有什么理由使用Async异步编程

    p { display: block; margin: 3px 0 0 0; } --> 写在前面 在学异步,有位园友推荐了<async in C#5.0>,没找到中文版,恰巧也想提 ...