在可能会抛出异常的代码块用@try标记(三)

2014-11-24 01:35:49 · 作者: · 浏览: 12
umberWithDouble:12233e+15];
NSLog(@"%lg", [myNumber doubleva lue]);

// 判断两个对象是否相等
if ([intNumber isEqualToNumber:floatNumber] == YES) {
NSLog(@"值相等");
}else{
NSLog(@"值不等");
}

// 比较两个对象的值大小
if ([intNumber compare:myNumber] == NSOrderedAscending) {
NSLog(@"左边的数字小");
}else{
NSLog(@"左边的数字大");
}

[pool release];
return 0;
}

//
// main.m
// test
//
// Created by Zeng on 13-5-24.
// Copyright (c) 2013年 zeng. All rights reserved.
//

#import
#import "YourClub.h"
#import "Membership.h"
#import "MyClass.h"
#import "NSStringUtiities.h"


int main(int argc, const char * argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

NSNumber *myNumber, *floatNumber, *intNumber;

// 创建integer类型对象
intNumber = [NSNumber numberWithInteger:123];
NSLog(@"%li", [intNumber integerValue]);

// 创建long类型对象
myNumber = [NSNumber numberWithLong:0xababab];
NSLog(@"%lx", [myNumber longValue]);

// 创建char类型对象
myNumber = [NSNumber numberWithChar:'K'];
NSLog(@"%c", [myNumber charValue]);

// 创建float类型对象
floatNumber = [NSNumber numberWithFloat:123.9];
NSLog(@"%f", [myNumber floatValue]);

// 创建double类型对象
myNumber = [NSNumber numberWithDouble:12233e+15];
NSLog(@"%lg", [myNumber doubleva lue]);

// 判断两个对象是否相等
if ([intNumber isEqualToNumber:floatNumber] == YES) {
NSLog(@"值相等");
}else{
NSLog(@"值不等");
}

// 比较两个对象的值大小
if ([intNumber compare:myNumber] == NSOrderedAscending) {
NSLog(@"左边的数字小");
}else{
NSLog(@"左边的数字大");
}

[pool release];
return 0;
}


来看看这行代码:
NSAutoreleasePool *pool =[[NOSAutoreleasePool alloc] init];

这行代码为我们分配了pool的自动释放池预留了内存空间。自动释放池可以自动释放添加到该池中的对象所使用的内存。当给对象发送一条autorelease消息时,就将该对象放到这个池中。释放这个池时,添加到该池中的所以对象都会一起被释放,因此所以这样的对象都会被销毁,除非已经指明了这些对象所在的作用域超出自动释放池。

NSInteger其实是typedef long

里面的方法可以通过查看DOC来使用