IOS APP 开发中遇到的问题总结

2017-10-31  本文已影响0人  IT码哥

1.  使用UIBarButtonItem 自定义图片时出现一个蓝色原点?

如下写法: 

UIBarButtonItem*commitBarItem= [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"confirm_submit"]  style:UIBarButtonItemStylePlain target:self action:@selector(commitAlarmListToServer)];

解决办法:(http://www.cocoachina.com/bbs/read.php?tid=180226

UIImage*selectedImage=[UIImage imageNamed:@"confirm_submit"];

selectedImage = [selectedImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

UIBarButtonItem*commitBarItem= [[UIBarButtonItem alloc]initWithImage:selectedImage style:UIBarButtonItemStylePlain target:self action:@selector(commitAlarmListToServer)];

self.navigationItem.rightBarButtonItem= commitBarItem;

2.  NSArray/NSDictionary 数组或字典 转成json

(1) NSDictionary 转成NSString json

+ (NSString *)dictToJsonString:(NSDictionary *)dict

{

    NSString *jsonStr = @"数据异常,无法转成JSON";

  BOOL isValidJson =[NSJSONSerialization isValidJSONObject:dict];

  if (isValidJson) {

    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict    options:NSJSONWritingPrettyPrinted error:nil];

  jsonStr = [[NSString alloc]initWithData:jsonData encoding:NSUTF8StringEncoding];

}

return jsonStr;

}


(2) // 将JSON转成对象

+ (NSDictionary *)parseJsonFromStringOrObject:(NSString *)data

{

NSData *newData = [data dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];

NSDictionary  * dict = [NSJSONSerialization JSONObjectWithData:newData options:NSJSONReadingAllowFragments error:nil];

return dict;

}


(3) 将任何对象转成json 字符串。(包括数组、字典,不包括自定义实体对象)

+ (NSString *)JSONString:(id)data

{

id result =  [NSJSONSerialization dataWithJSONObject:data options:NSJSONWritingPrettyPrinted error:nil];

NSString *jsonStr = [[NSString alloc]initWithData:result encoding:NSUTF8StringEncoding];

return jsonStr;

}

注: 简书的文本编辑器不太好用,太麻烦了,搞定代码格式有点难看!!希望简书官方能够有所改之。

上一篇下一篇

猜你喜欢

热点阅读