iOS 开发错误 及 解决方法 ------------------------------------
Auto Layout still required after executing -layoutSubviews. UITableView's implementation of -layoutSubviews needs to call super. 解决方法:去掉选择报错得xlb文件。 在xcode 中去掉 auto layout
---------------------------
loaded the "YddHotelBlogViewController" nib but the view outlet was not set. (null) 解决方法:由于 xlb控件 没有和ViewCtroller关联。导致的。 关联上就ok
--------------
UITableView 添加tableFooterView: 解决方法:self.hotelBlogTableView.tableFooterView = self.footerView;
UIButton 创建方法 解决方法:UIButton *btn2 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
--------------------------------
关于iOS http请求 解决方法: NSString *post = [NSString stringWithFormat:@"loginname=%@&loginpassword=%@&loginType=%@&appType=%@&deviceUuid=%@",userName,md5Password,@"IOS",@"APP-18",@"fe50812e1e5ea5b98ed90e3e620f8fbc16bb363f"]; NSLog(@"post:%@",post); NSString *urlStr=@"http://api.yododo.com/mobile/v2/saleLogin.ydd"; NSLog(@"urlStr=%@",urlStr); //将NSSrring格式的参数转换格式为NSData,POST提交必须用NSData数据。 NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES]; NSString *postLength = [NSString stringWithFormat:@"%d",[postData length]]; NSLog(@"postLength=%@",postLength); NSURL *url = [NSURL URLWithString:urlStr]; NSMutableURLRequest *request= [NSMutableURLRequest requestWithURL:url]; //设置请求头 [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; //post提交 [request setHTTPMethod:@"POST”]; //get提交 方式 [request setHTTPMethod:@"GET”]; //数据长度 [request setValue:postLength forHTTPHeaderField:@"Content-Length"]; //传输数据 [request setHTTPBody:postData]; //定义 NSHTTPURLResponse* urlResponse = nil; NSError *error = [[NSError alloc] init]; NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error]; //将NSData类型的返回值转换成NSString类型 NSString *result = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]; NSLog(@"user login check result:%@",result); [self alertView:@"登录结果" message:result];
---------------------------------
UITableViewCell 使用: 解决方法:创建xlb继承UITableViewCell。 在cellForRowAtIndexPath中创建使用
-------------------------
视频播放: 解决方法: 导入视频框架:#import <MediaPlayer/MediaPlayer.h> //NSString *fileName=[NSString stringWithFormat:@""]; //视频文件路径 //NSString *path = [[NSBundle mainBundle] pathForResource:fileName ofType:@"mp4"]; //视频URL NSURL *url = [NSURL fileURLWithPath:@"http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4"]; //视频播放对象 MPMoviePlayerController *movie = [[MPMoviePlayerController alloc] initWithContentURL:url]; //设置播放源 类型 movie.movieSourceType = MPMovieSourceTypeFile; //自动播放 movie.shouldAutoplay = YES; //控制器 样式 movie.controlStyle = MPMovieControlStyleNone; //有图像 有声音。 [movie.view setFrame:CGRectMake(30, 210, 250, 350)]; //添加 当前页中 [self.view addSubview:movie.view]; //预播放 [movie prepareToPlay]; //播放结束时 增加通知 NSNotificationCenter* notificationCenter = [NSNotificationCenter defaultCenter]; [notificationCenter addObserver:self selector:@selector(moviePlayerPreloadFinish:) name:MPMoviePlayerContentPreloadDidFinishNotification object:movie ]; [movie play];
---------------------
Undefined symbols for architecture i386:和"_OBJC_CLASS_$_xx", referenced from:
解决方法: http://blog.csdn.net/azhou_hui/article/details/18312047
-----------------------------------
ios 数据库操作:项目使用的时sqlite
http://blog.csdn.net/zhuzhihai1988/article/details/7878093 sqllite语法
在项目运行时发现一直都找不到数据库表。 后面了解到是ios的虚拟机缓存了sqlite文件。找到ios的虚拟机目录删除打包文件。 之后重新运行。问题解决。
//sqlite3_stmt 类似于 jdbc操作的statement对象
sqlite3_stmt *get_statement = nil;
//查询 根据时间搜索历史城市表记录取前5条
NSString *sqlString = [NSString stringWithFormat:@"select * from SearchHistoryPlace order by dateTime desc limit 0,5"];
const char *sql = [sqlString UTF8String];
NSLog(@"result:%d",sqlite3_prepare_v2(database, sql, -1, &get_statement, NULL));
//执行准备sql
if (sqlite3_prepare_v2(database, sql, -1, &get_statement, NULL) != SQLITE_OK){
sqlite3_reset(get_statement);
return nil;
}
NSMutableArray *cities = [[NSMutableArray alloc]init];
//从statement
while (sqlite3_step(get_statement) == SQLITE_ROW){
YddSearchHistoryPlace *disCity = [[YddSearchHistoryPlace alloc]init];
//sqlite3_column_text 查询text类型的列值
disCity.placeId = [NSString stringWithCString:(char *)sqlite3_column_text(get_statement, 0) encoding:NSUTF8StringEncoding];
disCity.cityName = [NSString stringWithCString:(char *)sqlite3_column_text(get_statement, 1) encoding:NSUTF8StringEncoding];
[cities addObject:disCity];
}
sqlite3_reset(get_statement);
return cities;
//插入
sqlite3_stmt *insert_statement = nil;
const char *sql = [[NSString stringWithFormat:@"INSERT INTO SearchHistoryPlace VALUES ('%@','%@','%@')",yddDistributionCity.placeId,yddDistributionCity.cityName,yddDistributionCity.dateTime]UTF8String];
if(sqlite3_prepare_v2(database, sql, -1, &insert_statement, nil) != SQLITE_OK){
}
sqlite3_step(insert_statement);
sqlite3_reset(insert_statement);
//更新
sqlite3_stmt *insert_statement = nil;
const char *sql = [[NSString stringWithFormat:@"INSERT INTO SearchHistoryPlace VALUES ('%@','%@','%@')",yddDistributionCity.placeId,yddDistributionCity.cityName,yddDistributionCity.dateTime]UTF8String];
if(sqlite3_prepare_v2(database, sql, -1, &insert_statement, nil) != SQLITE_OK){
}
sqlite3_step(insert_statement);
sqlite3_reset(insert_statement);
//查看数据库是否存在该表
select count(*) from sqlite_master where type='table' and name = '%@'
//创建表
CREATE TABLE IF NOT EXISTS SearchHistoryPlace
--------------------------------
//字符串转化为 转换为UIColor
(UIColor *) colorWithHexString: (NSString *)color
{
NSString *cString = [[color stringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceAndNewlineCharacterSet]] uppercaseString];
// String should be 6 or 8 characters
if ([cString length] < 6) {
return [UIColor clearColor];
}
// strip 0X if it appears
if ([cString hasPrefix:@"0X"])
cString = [cString substringFromIndex:2];
if ([cString hasPrefix:@"#"])
cString = [cString substringFromIndex:1];
if ([cString length] != 6)
return [UIColor clearColor];
// Separate into r, g, b substrings
NSRange range;
range.location = 0;
range.length = 2;
//r
NSString *rString = [cString substringWithRange:range];
//g
range.location = 2;
NSString *gString = [cString substringWithRange:range];
//b
range.location = 4;
NSString *bString = [cString substringWithRange:range];
// Scan values
unsigned int r, g, b;
[[NSScannerscannerWithString:rString] scanHexInt:&r];
[[NSScannerscannerWithString:gString] scanHexInt:&g];
[[NSScannerscannerWithString:bString] scanHexInt:&b];
return [UIColor colorWithRed:((float) r / 255.0f) green:((float) g / 255.0f) blue:((float) b / 255.0f) alpha:1.0f];
}
------------------
相关推荐
通过系统性的规划和执行,方案能够分析问题的根本原因,提供可行的解决方案,并引导实施过程,确保问题得到合理解决。 目标达成: 方案通常与明确的目标相关联,它提供了一种达成这些目标的计划。无论是企业战略、...
这是一套从一个对iOS开发感兴趣的学员到iOS...通过本系列课程的学习,希望使一个对iOS开发感兴趣,想从事iOS开发的学员,成为一名真正iOS开发人员,iOS从业者,iOS技术大牛,最重要的是学会解决开发中遇到困难的方法。
iOS的机器学习、AI、NLP的解决方案列表,Machine Learning for iOS
从iOS系统架构、文件类型等逆向理论出发,逐一讲解Class-dump、Theos、Cycript、IDA、GDB等最常用逆向工具的使用方法,进而分析使用这些工具时的思考方式和碰到问题时的解决思路,最后以社交应用消息拦截、iOS电话...
这篇文章主要介绍了微信小程序iOS下拉白屏晃动问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 问题 感觉ios的小程序每个页面都可以下拉出现白屏 ...
这是一个基于Objective-C的QMUI iOS UI开发解决方案设计,使用Objective-C、C、MATLAB和Python语言开发,包含...该项目是QMUI iOS,旨在提高项目UI开发效率的解决方案,适合用于个人学习和实践Objective-C的开发技术。
dump、Theos、Cycript、IDA、GDB等最常用逆向工具的使用方法,进而分析使用这些工具时的思考方式和碰到问题时的解决思路,最后以社交应用消息拦截、iOS电话相关操作等4个极具代表性的实例总结iOS应用逆向工程在实战...
1、资源内容:一个针对iOS模块化开发的解决方案。包含如何进行路由式、本地模块间交互的实现 2、适用人群:计算机,电子信息工程、数学等专业的学习者,作为“参考资料”参考学习使用。 3、解压说明:本资源需要电脑...
最近在开发中遇到一个问题,后来发现是苹果新增一个权限,自己可查,下面这篇文章主要给大家介绍了关于iOS 11不能定位问题的解决方法,文中介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起来一起学习...
iOS利用运行时解决闪退问题,可以学习下。有动态交换,方法添加,数组绑定
众所周知iOS 的几乎全部页面都是需要右滑返回的,否则用户体验会大打折扣,但是在开发过程中经常会碰到某些页面右滑返回失效的情况,下面记录一下各种情况下右滑返回失效的解决方法。 下面话不多说了,来随着小编...
主要给大家介绍了关于Xcode 9下适配iPhoneX导致iOS 10不兼容问题的解决方法,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
最近在工作中遇到了WKWebView白屏的问题,所以这篇文章主要给大家介绍了关于iOS中WKWebView白屏问题的分析与解决方法,文中通过示例代码介绍的非常详细,对同样遇到这个问题的朋友具有一定的参考学习价值,需要的...
作者coolnameismy,源码ios-tips,ios-tips是ios开发当中常用遇到的问题和解决方法的收集,包括ios和swif。 一共包括4个部分 0_Foundation :基础 1_UIKit :UIKit和界面相关 2_ThirdParty :第三方控件 3_Other :其他...
大家在用IOS开发项目的时候,经常出现键盘弹出遮挡输入框问题,小编给大家整理的这个问题的处理方法,一起学习下。
IFMShare是一个iOS客户端应用内分享的界面、功能一体化解决方案,使用简单、优雅,界面和功能高度可定制化。分享功能直接调用iOS系统内预制分享功能,无需去各种繁杂的社会化分享平台注册账号、无需下载导入各种SDK...