iOS开发收获

以下都是开发中遇到的简单问题。

收获iOS知识

1.通过继承cell,并重构setFrame方法可以调整cell的frame、bound和透明度,达到cell的宽度可以比屏幕小。
3.将某些数据序列化成字符串
NSData *data = [NSJSONSerialization data WithJSONObject:info options:0 error:nil];
NSString *content = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
可以转化一些数据

4.字典的快速加入对象
NSDictionary *messageInfo = @{
kSPCustomizeMessageType:@"sendFile",
@"aPerson":aPerson,
@"info":info
};
5.使用Storyboard,添加表格的时候可以使用一个高度为0的UIview放在tableViewController最下面即可去除多余表格线,静态表格的cell还可以继承自定义cell。通过获取storyboard,初始化一个controller对象的时候需要在Storyboard的ID和勾选下面的UseStoryboard。熟练使用StoryBoard的重要性

6.快速添加注释:alt +COM+/
7.Xcode工具的重构选项
8.tableView有sparator属性可以设置线和颜色,另外cell也可以设置线的长度(inset)但是颜色会使用tabelView设置的颜色(其实他们控制的是一根线,cell的优先级大一点)。

10.闭包的了解与使用(我的理解是返回多个参数的一种办法),怎么定义闭包?a.可以使用typedef先定义好,用的时候直接使用闭包名 如:typedef void(^闭包名)(返回的参数类型,参数名。。。。。);
第二种是将上面的typedef后的直接作为函数参数。

11.页面跳转的三种方式之mode,即用presentXXX,注意用完之后需要dismis掉,不能多层present

12.使用导航栏作为模态跳转页面,怎么传值?
通过navigationControllr.viewController[0]获取到控制器并对他赋值就可以传值啦。 这样做的作用有个好处就是可以通过dismis取消掉navigation控制器下的所有视图。

13.使用SB怎么给对象传值了?
调用控制器里的prepareForSegue 通过在SB中设置Segue的标识符,获得它的目的 控制器

14.加载nib文件的两种方法?
a.使用[NSBund mainBound] loadNibName xxxx可以 获得
b.使用【UINib nibWithNamexxxxx]可以获得(推荐:会提高性能)

15.属性关键字nonull和nullable(_nonul和_nullable)的作用?
首先知道用来修饰属性/类型的(如果放在@propertu后的括号里用前面那对,其他地方使用后面那对,如返回值类型,方法传参数的类型)
这个是Xcode6.3后新加的,主要作用是方便OC与Swift混编,对应option和no_option,建议非空可以写
控制器,取出来就可以给他赋值了。

16.GUIID是啥?
全球唯一标识符,可以为上传对象设置一个。

17.文件图片以什么数据上传的?
将文件获取到,转化为NSData,再将其转化为NSstring或者JSON数据上传

18.可以利用fiddler对HTTP通信进行抓包。

19.验证某个对象实现了某个协议和方法?
是否实现某个协议: if([myClassView conformToProtocol:@protocol (MyChooseDayViewDelegate)])
是否实现某个方法:if([myClassView responseToSelector:@selector(xxxx)])

20.在switch语句中不能定义变量,解决办法,a.将变量定义放在switch前面,变量可以在里面初始化 b. 使用{}case后面的包起来。
21.使用noNull判断字典是否为空

22.直接获取Rect宽度:CGRectGetwidth

23.怎么打印结构体变量
Rect等结构体型数据可以使用转化为字符串来打印:NSStringFromCGRect:xxxxx; 而像字典和数组可以通过自身的description打印

24.使用常亮定义 (尽量减少宏定义)格式
NSString *const @“常量值”
也可以定义其他格式的数据类型
25.怎么向项目中添加图标
首选添加方式选择文件夹批量添加(区分多倍图,名字一样后缀不一样。2倍:@2x),用量比较小的图片才通过asset文件添加。
添加方式:将文件夹都拷在项目文件夹下,在项目里添加文件夹,添加选择(左下脚的options)为destinatio复选框勾选如果需要则复制,Added folders为:选择Create Groups ,如果选择下面那个则可能添加了,但是项目中看到文件夹问蓝色,会导致你读取不了图标。

26.怎么打印函数名和行数?
NSLog(@"%s:%d
obj=%@",
__func__, __LINE__, obj); 其他__FILE__还可以答应文件路径,__PRETTY_FUNCTION__打印当前函数或方法,NSStringFromSelector(_cmd)打印当前方法名,NSThread callStackSymbols]打印当前线程栈,返回NSArry,包含所有函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值