您的位置:首页 > 移动开发 > IOS开发

iOS/OC中常用的一些东东

2013-10-14 10:53 274 查看
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;
//...
@end

NS_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 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: