挖坑填坑——iOS开发经验总结

1、若使用空工程(AppDelegate.m文件中会自动生成self.window实例话代码),并且使用storyBoard建UI界面;这时直接运行系统会崩溃,一旦AppDelegate.m文件中写了,就会将storyBoard设置的相关内容覆盖,此时,咱们需要将那些实例话代码删除。这时候便能正常运行。

2.若运行成功但模拟器调用不出,查看是不是运行的静态库,正常应为target。

3.initWithNibName与loadNibNamed的区别

(1)-initWithNibName要加载的xib的类为我们定义的视图控制器类(UIViewController)

-loadNibNamed要加载的xib的类为NSOjbect。

(比如:甲,乙都买了一个iPhone,但是,甲的是自己的钱,而乙用的是某某的钱)

(2).加载方式不同

-initWithNibName方法:是延迟加载,这个View上的控件是nil的,只有到需要显示时,才会不是nil

-loadNibNamed方法:即时加载,用该方法加载的xib对象中的各个元素都已经存在。


4.cocoapods更新:podinstall --verbose --no-repo-update

5.使用系统键盘手写输入崩溃

在输入UITextField时,调出系统的手写键盘,在输入第二个字时,APP闪退

打印崩溃信息:UIKBBlurredKeyView candidateList:

unrecognized

原因:给UIScrollView增加的Category中重写了触摸方法(用于手势向下传递):(void)touchesBegan:(NSSet *)touches

withEvent:(UIEvent *)event {

[[self nextResponder]

touchesBegan:touches withEvent:event];

[super touchesBegan:touches withEvent:event];

解决方法:1.你扩展了某个UIView or UIScrollVIew的Category,并且重写了UITouchBegans、move、end方法。屏蔽该3个方法即可。

                  2.你当前的Controller可能覆盖了1中的3个方法,也是屏蔽即可。

                  3.搜索其他覆盖1中的3个方法,屏蔽即可。

6.如果UITableView的cell取不到,或者不正确,试试在设置cell时给cell添加一个index path属性,有奇效。

7.如果项目中证书不显示,试试删除之前的pp文件,即描述文件。为方便,可以拖出来放在finder侧边栏

删除Xcode中多余的证书provisioning profile:找到finder,菜单栏有一项,前往-》前往文件夹,输入命令-》 ~/Library/MobileDevice/Provisioning Profiles 

8.设置标题栏标题属性

·[self.navigationController.navigationBarsetTitleTextAttributes:@{NSFontAttributeName:[UIFontsystemFontOfSize:18],NSForegroundColorAttributeName:[UIColor whiteColor]}];

9.给button加title加下划线。xib中设置,选中字体右键,font,underline

·参考网址:

·http://stackoverflow.com/questions/2630004/underlining-text-in-uibutton

10.在for语句中,int i需要赋初值,否则在每次循环会赋随机值,导致数组发生越界,NSInterger i,在iOS 5以上默认赋初值0。

11.遍历一个数组看谁快

参赛选手ForLoop,For - in, enumerateObjectsUsingBlock这个三个方法:

·只是遍历数组:forin;

·通过value查找index:enumerateObjectsUsingBlock


12.FMDB

1). 表名不能以数字开始,否则会报错,建表失败。

2).若遇到使用FMDB报以下错误,注意将保存的简单类型的值换成对象:

·error:obj = va_arg(args, id);

·a. executeUpdate :不确定的参数用?来占位,参数都必须是对象

·[self.dbexecuteUpdate:@"INSERT INTO t_student (name, age) VALUES (?, ?);",name, @(arc4random_uniform(40))];

·[self.dbexecuteUpdate:@"INSERT INTO t_student (name, age) VALUES (?, ?);"withArgumentsInArray:@[name, @(arc4random_uniform(40))]];

·b.?方式,参数要是对象,不是对象要包装为对象

·executeUpdateWithFormat :

format方式拼接,不确定的参数用%@、%d等来占位

·[self.dbexecuteUpdateWithFormat:@"INSERT INTO t_student (name, age) VALUES (%@,%d);", name, arc4random_uniform(40)];

·注意:如果直接写%@不用加单引号两边,会自动加单引号两边,如果'jack_%d'的两边不加单引号就会报错,所以要注意

·[self.dbexecuteUpdateWithFormat:@"INSERT INTO t_student (name, age) VALUES('jack_%d', %d);", name, arc4random_uniform(40)];

·UPDATE表名称SET列名称=新值WHERE列名称=某值.

UPDATEPerson SET Address = 'Zhongshan 23', City = 'Nanjing'

·WHERE LastName = 'Wilson'

·UPDATE Person SET FirstName = 'Fred' WHERE

LastName = 'Wilson'

3).FMDB更新失败,记得检查更新语句是否写错,标点符号是否多加。

4). FMDB报没有字段的错,插入不了数据,记得检查插入语句是否写错,标点符号什么的。


13.设置button文字居左显示:

button.contentHorizontalAlignment=UIControlContentHorizontalAlignmentLeft;

14..xcode运行工程失败提示bundleID相同,注意

If your application bundle identifier iscom.companyName.productName then your extension bundle identifier should becom.companyName.productName.extensionName

If you assign the bundle identifier in thisway then your provisioning profile will work for both.

Egcom.szshyz.yuntu

com.szshyz.yuntu.test

15..tableView 关于分割线的设置,最好放在table已经注册好cell之后进行。否则有可能会崩溃。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343

推荐阅读更多精彩内容