21、HSB颜色方法??
答:+ (UIColor *)colorWithHue:(CGFloat)hue saturation:(CGFloat)saturation brightness:(CGFloat)brightness alpha:(CGFloat)alpha;
22、iOS学习之在ARC项目中使用非ARC文件 ?
答:在TARGETS-Bulid Phares-Compile Sources中找到非ARC的文件,双击,在弹出的框中添
加 -fno-objc-arc
PS:如果项目建立时未使用ARC,想将其改为ARC,可以在building setting中修改
在Building Setting中搜索auto reference
将Objective-C Automatic Reference Counting一行设置为YES即可
23、如何设置全局变量?
答:extern jw_i_SinaSDK * sinaObject ; (.h )
jw_i_SinaSDK * sinaObject = nil; (.m )
24、Xcode5.1删除了xib效果依然在?
25、如何通过UIImagePickerControllerView 来获取照片的信息(地理位置、时间等)?
答:需要导入的两个类库:#import <AssetsLibrary/AssetsLibrary.h>
#import <ImageIO/ImageIO.h>
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
if(picker.sourceType == UIImagePickerControllerSourceTypePhotoLibrary){
//UIImage *image= [info objectForKey:UIImagePickerControllerOriginalImage];
NSURL *assetURL = [info objectForKey:UIImagePickerControllerReferenceURL];
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library assetForURL:assetURL
resultBlock:^(ALAsset *asset) {
NSDictionary* imageMetadata = [[NSMutableDictionary alloc] initWithDictionary:asset.defaultRepresentation.metadata];
NSDictionary *GPSDict=[imageMetadata objectForKey:(NSString*)kCGImagePropertyGPSDictionary];
NSLog(@"%@",GPSDict);
NSLog(@"%@",imageMetadata);
/* GPSDict 里面即是照片的GPS信息,具体可以输出看看*/
}
failureBlock:^(NSError *error) {
}];
}
}
26、用isEqualToString:该方法可能无效??
答:字典中有可能存放的不是NSString ,而是NSNumber
27、IOS中类和对象还有,nil/Nil/NULL的区别??
答:
nil:指向oc中对象的空指针
Nil:指向oc中类的空指针
NULL:指向其他类型的空指针,如一个c类型的内存指针
NSNull:在集合对象中,表示空值的对象
nil和NULL从字面意思来理解比较简单,nil是一个对象,而NULL是一个值,我的理解为nil是将对象设置为空,而NULL是将基本类型设置为空的。而且我们对于nil调用方法,不会产生crash或者抛出异常。
28、self.NavigationController 跳转视图方法??
跳转到上一层
- [self.navigationController popViewControllerAnimated:YES];
跳转到根视图
- [self.navigationController popToRootViewControllerAnimated:YES];
跳转到指定视图
- [self.navigationController popToViewController: [self.navigationController.viewControllers objectAtIndex: ([self.navigationController.viewControllers count] -2)] animated:YES];
29、bool 值的判读规范写法??
答:如果是指针型,就这样比较
if(p==NULL)
if(p!=NULL)
整型
if(i==3)
if(i!=3)
bool型
if(b)
if(!b)
30、随机数生成??
int i = arc4random() % 5 ;
arc4random() 是一个真正的伪随机算法,不需要生成随机种子,因为第一次调用的时候就会自动生成
31、iOS经纬度偏移解决 ???
32、UITableView headView和head的灵活运用??
答:见团游商城首页
当UITableViewStylePlain 设为该样式,head可以在向上滑动的时候悬浮在最上面
33、如何通过Xib自定义UITableViewCell ???
NSString *identifier = @"mycell";
UITableViewCell *cell = [tView dequeueReusableCellWithIdentifier: identifier];
if (!cell) {
cell = [[[NSBundle mainBundle] loadNibNamed:@"TVCell" owner:self options:nil] lastObject];
}
return cell;
注:xib中得设置其属性Identifier,假设设置为“mycell”
34、如何设置cell之间的间隔?
答:方法一,cell底部加一个和背景色一样的视图;(推荐)
方法二,创建空白cell
35、如何设置Cell上面的选择按钮?
答:通过设置数据源,然后刷新数据
36、为何构建的URL在地址栏输入有值返回,但是程序中没有 ??
答:程序中传入的参数需要用NSUTF8编码,方法为:stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
37、数组排序(描述排序法)??
答: _dataSourceArray = [_dataSourceArray mutableCopy];
NSSortDescriptor *sortDescriptor=[[NSSortDescriptor alloc] initWithKey:@"IsDefault" ascending:NO];//@“IsDefault”是对象属性
[_dataSourceArray sortUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];
38、为何根据服务端返回的数据做判断,不跳入内容里面?
答:返回的类型跟你判断的类型不一样,需要转换
39、如何让一个事件隔一段时间再发生?
答: NSDate *nowTime = [NSDate date];
if (!lastTime) {
lastTime = nowTime;
}
NSTimeInterval timeInterval = [nowTime timeIntervalSinceDate:lastTime];
if (timeInterval > 3.) {
lastTime = nowTime;
}else{
return;
}
40、如何增加Button的点击热区?
答:重写Button以下方法:
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent*)event
{
CGRect bounds = self.bounds;
//若原热区小于44x44,则放大热区,否则保持原大小不变
CGFloat widthDelta = MAX(44.0 - bounds.size.width, 0);
CGFloat heightDelta = MAX(44.0 - bounds.size.height, 0);
bounds = CGRectInset(bounds, -0.5 * widthDelta, -0.5 * heightDelta);
return CGRectContainsPoint(bounds, point);
}