• IOS开发基础知识--碎片1


    一:NSString与NSInteger的互换

    NSInteger转化NSString类型:[NSString stringWithFormat: @"%d", NSInteger];
    
    NSString转化 NSInteger类型:NSInteger = [NSString intValue];  
    
    *其它几个同理   [NSString boolValue]、[NSString floatValue]、[NSString doubleValue]

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

    a. NSNumber的用法如下
    
    把基本类型包装成对象的便利构造函数
    
    -(id) initWithChar : (char) value;
    
    -(id) initWithInt : (int) value;
    
    -(id) initWithFloat : (float) value;
    
    -(id) initWithBool: (BOOL) value;
    
    把基本数据类型包装成对象的便利构造器
    
    +(id) numberWithChar : (char) value;
    
    +(id) numberWithInt : (int) value;
    
    +(id) numberWithFloat : (float) value;
    
    +(id) numberWithBool : (BOOL) value;
    
    从NSNumber中获取值
    
    -(char) charValue;    -(int) intValue;      -(float) floatValue;     (BOOL) boolValue;    (NSString *) stringValue; 

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

    +(NSNull *) null;

    三:NSDATA与NSString互转

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

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

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

    去除两端空格
    
    NSString *temp = [textField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
    
    去除两端空格和回车
    
    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值

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

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

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

     8:NSString进行URL编码和解码

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

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

    [[UIApplication sharedApplication] beginIgnoringInteractionEvents];
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        [[UIApplication sharedApplication] endIgnoringInteractionEvents]
    });
  • 相关阅读:
    你所不了解的静态路由特点及配置
    程序员进阶中--说说这一年的“酸甜苦辣”
    前序、中序、后序遍历的多种非递归实现
    spring依赖注入单元测试:expected single matching bean but found 2
    汉语-汉字:効、效
    汉语-词语:悃愊
    汉语-词语:宽容
    System.Threading.Tasks.TaskFactory.cs
    汉语-词语:高明
    唐-诗:《山居秋暝》
  • 原文地址:https://www.cnblogs.com/wujy/p/4112442.html
Copyright © 2020-2023  润新知