zoukankan      html  css  js  c++  java
  • Foundation Kit常用类介绍

    Foundation Kit是OS X类库和IOS类库共享的基础类库,里面提供了很多封装类,具体可以见https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/ObjC_classic/,下面介绍一些常用类。

    1.字符串类:NSString和NSMutableString。

    NSMutableString继承于NSString,两者的区别是:NSMutableString是可变的,而NSString是不可变的。也就是说当字符串已经确定下来,NSString不能对这个字符串进行删除和添加操作,而NSMutableString就是解决这个问题的。

    如下代码:

      NSString* pStr1 = @"hello";

      [pStr1 stringByAppendingString:@" world"]; //pStr1还是hello

      NSMutableString* pMTStr = [NSMutableString stringWithFormat: @"hello"];

      [pMTStr appendString: @" world"]; //pMTStr为hello world

    pStr1调用方法stringByAppendingString后pStr1还是hello,pMTStr调用方法 appendString后pMTStr直接变为hello world。那么我们如何让pStr1变为hello world呢?很简单:pStr1 = [pStr1 stringByAppendingString:@" world"],这样就达到了pMTStr appendString相同的效果。

    2.动态数组:NSArray和NSMutableArray,两者区别类似NSString和NSMutableString。动态数组类似于stl里面的vector。

    3.链表:我没有找到类似于C++ STL里面的list实现,有知道的同学请告诉下我。

    4.set集合: NSSet, NSMutableSet, and NSCountedSet。

    一开始我还以为NSSet跟C++的set差不多,看文档之后才发现,NSSet不会对对象进行排序,但是NSSet会保证对象的唯一性。

        
        NSString *pStr1 = @"c";
        NSString *pStr2 = @"b";
        NSString *pStr3 = @"a";
        NSString *pStr4 = @"c";
        NSSet* mySet = [NSSet setWithObjects:pStr1, pStr2, pStr3, pStr4, nil];
    

    上面代码里面mySet里面的对象为 b,c,a。

    5.map实现:NSDictionary和NSMutableDictionary,类似于C++里面的map。

    6.疑问:OC里面有类似C++里面的multiset、multimap、list、stack、deque实现吗?目前我在文档里面没有查到类似类,有知道的朋友可以告诉下我,谢谢!

  • 相关阅读:
    CodeForces 785D Anton and School
    CodeForces 785C Anton and Fairy Tale
    CodeForces 785B Anton and Classes
    CodeForces 785A Anton and Polyhedrons
    爱奇艺全国高校算法大赛初赛C
    爱奇艺全国高校算法大赛初赛B
    爱奇艺全国高校算法大赛初赛A
    EOJ 3265 七巧板
    EOJ 3256 拼音魔法
    EOJ 3262 黑心啤酒厂
  • 原文地址:https://www.cnblogs.com/52xpz/p/4248644.html
Copyright © 2011-2022 走看看