第一题
#import "ElapsedDays.h"
@implementation ElapsedDays
-(unsigned long) elapsedDays:(NSDate *) theDate;
{
unsigned long counts;
NSDate *NowToday=[NSDate date];
counts=NowToday.timeIntervalSince1970-theDate.timeIntervalSince1970;
counts/=(60*60*24);
return counts;
}
@end
#import <Foundation/Foundation.h>
#import "ElapsedDays.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
ElapsedDays *Interval=[[ElapsedDays alloc]init];
NSDateFormatter *formatter2=[[NSDateFormatter alloc]init];
[formatter2 setDateFormat:@"YYYY-MM-dd HH-mm-ss"];
NSDate *date3=[formatter2 dateFromString:@"2015-05-10 18:23:03"];
NSLog(@"%@",date3);
unsigned long day=[Interval elapsedDays : date3 ];
NSLog(@"%lu",day);
NSDate *dateNow=[NSDate date];
NSLog(@"%@",dateNow);
}
return 0;
}
第二题、
第二问我用了几种方法进行的排序,选其一即可
-(void) lookup2:(NSString *)theName
{
AddressBook *kolook=[[AddressBook alloc]init];
int i;
AddressCard *cc=NULL;
for(i=0;i<_book.count;i++)
{
cc=_book[i];
if ([kolook stringContentString:cc.name subString:theName])
NSLog(@" the name has in %@",cc.name);
}
}
-(void) sort
{
NSArray *sortedString=[_book sortedArrayUsingSelector:@selector(compareName:)];
_book=(NSMutableArray *)sortedString;
}
-(void) sort1
{
[_book sortUsingSelector:@selector(compareName:)];
}
-(void) sort2
{
for (NSUInteger i=0; i<_book.count; )
{
NSIndexSet *sortedString=
[_book indexesOfObjectsPassingTest:
^(id obj1 , NSUInteger idx1, BOOL *stop)
{
if(idx1>i)
{
if ([obj1 compareName:_book[i]]==NSOrderedAscending)
{
NSLog(@"%@____%@",((AddressCard *)obj1).name,((AddressCard *)_book[i]).name);
*stop=YES;
return YES;
}
else
return NO;
}
return NO;
}
];
NSLog(@"______%lu____%lu",sortedString.count,sortedString.firstIndex);
if(sortedString.count!=0)
{
NSLog(@"SWAP");
id temp=nil;
temp=_book[i];
_book[i]=_book[sortedString.firstIndex];
_book[sortedString.firstIndex]=temp;
}
else{
i++;
}
}
}
-(void) sort3
{
NSUInteger i;
NSUInteger j;
NSUInteger min=0;
id temp=nil;
for (i=0; i<_book.count-1; i++)
{
min=i;
for (j=i+1; j<_book.count; j++)
{
if ([_book[min] compareName:_book[j]]==NSOrderedDescending)
min=j;
}
if (min!=i)
{
temp=_book[i];
_book[i]=_book[min];
_book[min]=temp;
}
}
}
第三题、
-(AddressCard *) lookup3:(NSString *)theName
{
for(int i=0;i<_book.count;i++)
{
if ([self stringContentString:((AddressCard *)_book[i]).name subString:theName])
{
if ((AddressCard *)_book[i]!=nil) {
[(AddressCard *)_book[i] print];
}
}
}
return nil;
}
(第2问)
-(NSMutableArray *)sort5
{