随笔记录

1.NSString   [a hasPrefix: ]  [a hasSuffix:]  判断开头和结束是否包含.... 

2.数组排序(对象属性)

  NSArray *emparray=[empArr sortedArrayUsingComparator:^NSComparisonResult(TXLInfo * obj1, TXLInfo * obj2) {

        return  [[NSNumber numberWithFloat:[obj1.xmpxm floatValue]] compare:[NSNumber numberWithFloat:[obj2.xmpxm floatValue]]];

    }];

3.上传到AppStore时报错“Your binary is not optimized for iPhone 5” (ITMS-90096) when submitting

在工程里的Images.xcassets添加并设置LaunchImage对解决ERROR ITMS-90096根本不会起到任何作用,需要单独添加针对iPhone 5的载入图片。关键点有三项:①图片的名称必须叫Default-568.png。②必须把图片放在工程的根目录下。③图片尺寸必须是320*568。在info.plist中添加数组->字典:

<key>UILaunchImages</key>
<array>
    <dict>
        <key>UILaunchImageName</key>
        <string>Default-568</string>
        <key>UILaunchImageSize</key>
        <string>{320, 568}</string>
    </dict>
</array>

 4.

   AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];
     
    //要监控网络连接状态,必须要先调用单例的startMonitoring方法
    [manager startMonitoring];
     
    [manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
        //status:
        //AFNetworkReachabilityStatusUnknown          = -1,  未知
        //AFNetworkReachabilityStatusNotReachable     = 0,   未连接
        //AFNetworkReachabilityStatusReachableViaWWAN = 1,   3G
        //AFNetworkReachabilityStatusReachableViaWiFi = 2,   无线连接
        NSLog(@"%d", status);
    }];

5.苹果加急审核网址:https://developer.apple.com/contact/app-store/?topic=expedite 

6.提交ipa包后在iTunes看不到,可能是因为plist中没有添加相关权限

7.关闭controller左滑返回上一页手势

-(void)viewDidAppear:(BOOL)animated{

    //关闭导航栏交互能力

    self.navigationController.interactivePopGestureRecognizer.enabled = NO;

}

-(void)viewDidDisappear:(BOOL)animated{

    //关闭导航栏交互能力

    self.navigationController.interactivePopGestureRecognizer.enabled = YES;

}

8.根据bundleId获取更新信息:

http://itunes.apple.com/cn/lookup?bundleId=xxx

9.获取设备的UDID

#import <AdSupport/AdSupport.h>

NSString *advertisingId = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];

10.从数组中筛选出相同属性的对象

NSPredicate * predicateTwo = [NSPredicate predicateWithFormat:@"%K CONTAINS[c] %@",@"userName",username];

NSArray *personInfo = [personArray filteredArrayUsingPredicate:predicateTwo];

11.在xcode9 ios11环境下,uitableview设置模式UITableViewStyleGrouped,设置头部尾部高度,代理方法要成对调用,否则不会生效

eg:

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{  

return 0.01;  

}

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{  

 return [[UIView alloc] initWithFrame:CGRectZero]

 }  

12.计算字符串长度

- (int)stringLength:(NSString *)string

{

    float number = 0.0;

    for (int index = 0; index < [string length]; index++)

    {

        NSString *character = [string substringWithRange:NSMakeRange(index, 1)];

        if ([character lengthOfBytesUsingEncoding:NSUTF8StringEncoding] == 3)

        {

            number++;

        }

        else

        {

            number = number + 0.5;

        }

    }

    return ceil(number);

}

13.获取的设备uuid在app更新,卸载时候会改变,所以要自己把第一次生成的uuid保存,备用

14.NSString * encodingString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];//编码

  NSString *str = [model.album_name stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];//解码

15.navigationbar设置背景图片水平重复问题

 UIImage *bgImage = [UIImageFromMainViewModule(@"nav_bar_bg.png") resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0) resizingMode:UIImageResizingModeStretch];

 [theNav.navigationBar setBackgroundImage:bgImage forBarMetrics:UIBarMetricsDefault];

16.适配屏幕

#define kScreenWidth [UIScreen mainScreen].bounds.size.width

#define kScreenHeight [UIScreen mainScreen].bounds.size.height

#define kScreenWidthRatio (kScreenWidth/375.0)

#define kScreenHeightRatio (kScreenHeight/667.0)

#define AdaptedWidthValue(x) (x*kScreenWidthRatio)

#define AdaptedHeightValue(x) (x*kScreenHeightRatio)

#define AdaptedFontSizeValue(x) (x*(kScreenWidthRatio+kScreenHeightRatio)/2.0)

posted @ 2016-09-07 10:36  YuFly  阅读(171)  评论(0编辑  收藏  举报