iOS开发中遇到的问题整理 (二)

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 跳转视图方法??

跳转到上一层
  1. [self.navigationController popViewControllerAnimated:YES];  
  
跳转到根视图
  1. [self.navigationController popToRootViewControllerAnimated:YES];  

跳转到指定视图
  1. [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);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值