1、怎么判断是iPAD
#definde IS_IPAD ([[UIDevice currentDevice] respondsToSelector:@selector(userInterfaceIdiom)] && [[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)
2、iOS中URL得编码
NSString* escapedURLString = [unescapedString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
或者
NSString * encodedString = (NSString *)CFURLCreateStringByAddingPercentEscapes (NULL, (CFStringRef)yourtext, NULL, (CFStringRef)@”!*’();:@&=+$,/?%#[]“, kCFStringEncodingUTF8);
3、 iOS中不定参数(可变参数)的方法
常见于NSArray初始化方法中,比如:
@interface NSArray (NSArrayCreation) + (id)arrayWithObjects:(id)firstObj, ... NS_REQUIRES_NIL_TERMINATION; - (id)initWithObjects:(id)firstObj, ... NS_REQUIRES_NIL_TERMINATION; //... @endNS_REQUIRES_NIL_TERMINATION 是一个宏,用于编译时非nil结尾的检查。自定义不定参数的方法与C/C++一样,示例如下:
- (id)initWithColumns: (NSString*)firstColumnName, ... { 2 if (self = [self init]) { 3 NSMutableArray* arrays = [NSMutableArray array]; 4 va_list argList; 5 if (firstColumnName) { 6 [arrays addObject:firstColumnName]; 7 va_start(argList, firstColumnName); 8 id arg; 9 while ((arg = va_arg(argList, id))) { 10 [arrays addObject:arg]; 11 } 12 } 13 self.columnNames = [NSArray arrayWithArray:arrays]; 14 } 15 return self; 16 }