字符串
-(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,copy和retain等操作后,你才拥有它的所有权。当你不在需要这个对象的时候,你需要释放对他的所有权
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、NSMutableArray是NSArray的子类,父类的所有方法子类都可以用。
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、 向Array、Dictionary以及Set中添加一个元素时,Array、Dictionary以及Set会主动持有对它的所有权
2、 而从Array、Dictionary或Set中拿掉一个对象时,Array、Dictionary或Set会主动放弃对它的所有权。