字符串

来源:互联网 发布:js正则截取字符串 编辑:程序博客网 时间:2024/05/21 07:08

-(id) initWithString:(NSString *)str;
-(id) initWithFormat:(NSString *)format...

求字符串长度

-(NSInteger) length

拼接字符串

-(NSString *)stringByAppendingString:(NSString 

-(NSString *)substringFromIndex:(NSUInteger)anIndex
-(NSString *)substringToIndex:(NSUInteger) anIndex

其他类型->字符串
-(id) initWithFormat:(NSString *)format...
字符串->其他类型
-(double) doubleValue
-(int) intValue
-(BOOL) boolValue

-(NSComparisonResult) compare:(NSString *)str
-(NSString *)uppercaseString

2、所有权机制

OC中, 只有当你对一个对象做了alloc,copyretain等操作后,你才拥有它的所有权。当你不在需要这个对象的时候,你需要释放对他的所有权

retain:使对象引用计数加1

copy:创建一个对象副本,此副本的引用计数为1,原对象引用计数不变。

release:使对象的引用计数减1

autorelease:对象的引用计数在未来某一时间减1

dealloc方法是从NSObject类里继承过来的。通常是子类重写用的,主要功能是对象销毁的时候把释放实例变量的所有权。

2、 dealloc不需要自己调用,当对象引用计数为0的时候,系统自动调用dealloc方法。

3、 最后调用[super dealloc]释放父类变量。

7、属性的内部实现

系统对设置器的实现:
-(void) setName:(NSString *)aName
{
   if(name != aName)
   {
      [name release];
      name = [aName retain];
   }
}

系统对访问器的实现
-(NSString *)name
{
   return name;
}

1、数组

2、字典

3、集合


1、 初始化
-(id)initWithObjects:(id) firstObj,...
+(id)arrayWithObjects:(id) firstObj,...

2、获取数组中某个位置的值 

-(id)objectAtIndex:(NSUInteger) index

3、 获取数组里面元素的个数:
-(NSUInteger)count

4、 某元素在数组中的位置
-(NSUInteger) indexOfObject:(id) object


1、NSMutableArrayNSArray的子类,父类的所有方法子类都可以用。
2、 除此之外,NSMutableArray也添加了2个初始化方法
-(id) initWithCapacity:(NSUInteger) numItems
+(id) arrayWithCapacity:(NSUInteger) numItems
3、增加对象
-(void) addObject:(id) anObject
4、 删除对象:
-(void) removeAllObjects
-(void) removeLastObject
-(void) removeObjectAtIndex:(NSUInteger) index

NSDictionary

把若干元素用key-value(键值对)的形式存储和组织的一种形式。这些key-value对数据的容器称为字典(NSDictionary)。用key()去访问具体的元素。

  注意:字典中的key-value是无序的。所以键值对的顺序由系统决定。


1、初始化:
-(id) initWithObjectsAndKeys:(id) firstObj,...
2、获取字典中key-value对的个数:
-(NSUInteger) count
3、获取所有的key
-(NSArray *)allKeys
4、从key得到value值:
-(id) objectForKey:(id)key


增加和修改可变字典的内容:
-(void) setObject:(id)anObject forKey:(id)key
删除可变字典的内容:
-(void)removeObjectForKey:(id)key
-(void)removeAllObjects


集合( NSSet

1、set是一种无序集合;跟数学里面的集合很像

2、查询Cocoa API自学NSSet

1、 ArrayDictionary以及Set中添加一个元素时,ArrayDictionary以及Set会主动持有对它的所有权

2、 而从ArrayDictionarySet中拿掉一个对象时,ArrayDictionarySet会主动放弃对它的所有权。

原创粉丝点击