zoukankan      html  css  js  c++  java
  • iOS 编程学习笔记之Foundation框架

    Foundation 框架:

    • NSString (c字符串前面加@)
      • NSString *myString @"My String ";
      • NSString *anotherString [NSString stringWithFormat:@"%d %@"1@"String"];
      • NSString *fromCString [NSString stringWithCString:"A C string" encoding:NSUTF8StringEncoding];
      • NSString *string [NSString string]; NSString 类声明 string 类方法 ?
    • NSNumber
      • NSNumber *myIntValue @32;
      • NSNumber *myDoubleValue @3.22346432;
      • NSNumber *myBoolValue @YES;
      • NSNumber *myCharValue @'V';
      • NSNumber *myFloatValue @3.2F
    • NSArrayNSSet 和 NSDictionary 类的内容不能随时间而变化。
    • NSArray(可以存不同类的实例!
      • 虽然NSArray不可变,但是它所存的元素是可变的。(可以理解为它保存的是指针变量。)
      • 定义:
        • NSArray *someArray @[firstObjectsecondObjectthirdObject];(不要用nil结尾)
        • NSArray *someArray =[NSArray arrayWithObjects:firstObjectsecondObjectthirdObjectnil];(以nil作为结尾符,与c中的char数组类似)
      • “成员函数”:
        • 数组元素个数:[someArray count]
        • 查找元素:[someArray containsObject:someString]
        • 访问元素:[someArray objectAtIndex:0]  (此方法在数组为空时会返回异常)
        • 访问元素:someArray[0] (实为上个方法的重写)
        • 输出元素到NSlog函数:NSLog(@"First item is: %@"[someArray objectAtIndex:0]);
        • NSArray *sortedStrings [unsortedStrings sortedArrayUsingSelector:@selector(compare:)]; (由于NSArray不可变,所以该方法会返回新的排好序的数组)
    • NSMutableString
      • NSMutableString *mutableString [NSMutableString stringWithString:@"Hello"];
      • [string0 appendString:@" World!"]
      • [string0 isKindOfClass:[NSMutableString class]] 判断是否是这个类或者这个类的子类的实例
      • [string0 isMemberOfClass:[NSMutableString class]] 判断是否是这个类的实例
    • NSMutableArray
      • NSMutableArray *mutableArray [NSMutableArray array];
      • [mutableArray addObject:@"gamma"];
      • [mutableArray replaceObjectAtIndex:withObject:@"epsilon"]; 或者 mutableArray[0] = @"epsilon";
      • [mutableArray sortUsingSelector:@selector(caseInsensitiveCompare:)];
        • @selector(localizedCompare:) 普通排序
        • @selector(caseInsensitiveCompare:) 按升序且不区分大小写的顺序排序
    • NSSet (单个对象只会添加一次,和stl里的set类似)
      • NSSet *simpleSet [NSSet setWithObjects:@"Hello, World!"@42aValueanObjectnil];
    • NSDictionary (感觉就是stl中的map)
      • 创建……
      • 查询对象:NSNumber *storedNumber dictionary[@"magicNumber"]; 或者 NSNumber *storedNumber [dictionary objectForKey:@"magicNumber"];
      • 可变性:使用 NSMutableDictionary 子类?
      • 添加、删除……
      • (虽然其他对象也可以用作键,但要注意,每个键都会被拷贝以供字典使用,并且必须支持 NSCopying。不过,如果要使用键-值编码,则必须为字典对象使用字符串键。若要了解更多信息,请参阅《Key-Value Coding Programming Guide》(键值编码编程指南)。)
    • NSNull (单例类)
      • nil表示无对象,[NSNull null]才是null值。
      • NSArray *array @@"string"@42[NSNull null];
      • 1 for (id object in array) {
        2     if (object == [NSNull null]) {
        3         NSLog(@"Found a null object");
        4     }
        5 }
        //检查是否存在null实例
  • 相关阅读:
    在 centos 下禁止 root 通过 ssh 远程登录
    在 sql server 中开启审核日志
    设置 centos 系统,使用终端连接的空闲等待时间(超时断开)
    谷歌地图文字渲染原理
    WebGL 水波及焦散(刻蚀)的渲染总结
    【Mybatis】获取sql
    git如何查看最新的远程分支
    绑定点击事件,当点击事件里依赖异步返回结果则阻止冒泡失效
    一个非常好用的生成目录树的npm包
    Spring Boot入门系列(二十一)如何优雅的设计 Restful API 接口版本号,实现 API 版本控制!
  • 原文地址:https://www.cnblogs.com/monmonde/p/3972211.html
Copyright © 2011-2022 走看看