有关oc中的枚举类型
1、不推荐使用,因为不能够使用一种类型的方式表示枚举;
enum
{
TMEnumTestOne,
TMEnumTestTwo,
};
enum 类型
typedef enum
{
TMEnumTestOne,
TMEnumTestTwo,
} TMEnumTest;
enum TMEnumTest
{
TMEnumTestOne,
TMEnumTestTwo,
};
typedef enum TMEnumTest TMEnumTest;
将枚举描述为一个类型TMEnumTest。
这种写法也有局限性,在作为函数参数时,如果传入NSInteger类型的数据,则需要强制转换,否则会有类型不匹配的警告,所以这种方式也不推荐。
老式enum写法
enum
{
TMEnumTestOne,
TMEnumTestTwo,
};
typedef NSUInteger TMEnumTest;
这种写法可以指定TMEnumTest的类型,并且作为函数参数时,传入的值不需要进行强制类型转换。
但是这种写法不会检查枚举的正确性,是好是坏需要自己判断,
新式enum写法
(一般都是下面的第一种写法,好像第二种写法也是有的,不过我很少这样子写,写一下可以推荐使用这种方法,因为可以使用& 的方式表示两种枚举的情况而不用一个一个的来写了)
typedef NS_ENUM(NSUInteger, TMEnumTest)
{
TMEnumTestOne,
TMEnumTestTwo,
};
typedef NS_OPTIONS(NSUInteger, TMEnumTest)
{
TMEnumTestOne = 0,
TMEnumTestTwo = 1 << 0,
};
NS_ENUM和NS_OPTIONS本质是一样的,仅仅从字面上来区分用途。NS_ENUM是通用情况,NS_OPTIONS一般用来定义“位枚举”。位枚举应该是位移动来进行完成的。
这种写法同样作为函数参数时,传入的值不需要进行强制类型转换。但是也同样不会检查枚举的正确性,和 老式enum写法 一样,
但是不同的是,新式enum写法 在使用switch时,会进行值的检测,如果枚举中无此值,则会弹出警告,如下图。这种方式见仁见智了。本人推荐这种写法。
-
枚举最大值
对于一般的枚举,要获取枚举的最大值是很难的,因为随着枚举的扩充,最大值在不断变化,这时推荐使用一个固定的枚举表示最大值,例如:
typedef NS_ENUM(NSUInteger, TMEnumTest)
{
TMEnumTestOne,
TMEnumTestTwo,TMEnumTestMax, // 表示最大值
};
这样就可以使用TMEnumTestMax表示枚举TMEnumTest的最大值了。
- 位枚举
位枚举是一种特殊的枚举,在apple的类中使用的很多,例如NSStringCompareOptions等。
typedef NS_OPTIONS(NSUInteger, TMEnumTest)
{
TMEnumTestOne = 0, // 0
TMEnumTestTwo = 1 << 0, // 1
TMEnumTestThree = 1 << 1, // 2
TMEnumTestFour = 1 << 2, // 4
};
- 位枚举的特点是可以使用位运算来处理枚举值,实际使用中可以用一个变量存储多个枚举值,表示互不影响的多个设置。
可以知道枚举类型中一个枚举变量可以包括多个枚举值,而不是我们单纯的认为一个枚举变量只能够有一个枚举值。
但是有0 就会出现问题了,也就是与0 都会出现错误的。
为了不出现面的情况,我们可以将枚举类型从1开始,而不是从0开始,也就是位枚举类型是从值为1开始的。
动效:
http://www.cocoachina.com/design/20160729/17237.html
这个就是关于UI设计的一种美感
二维码的效果:
http://www.cocoachina.com/swift/20160729/17221.html
二维码应该是怎么样进行开发的,也即是如何进行完成的。
好像这个二维码不是很好用的,也就是这个二维码应该是python的有关内容,通过网站来实现。
有关于UIwindow的设置
可window不管是storyboard和xib都是可以的,只要设置window的背景颜色是透明的。
同时也要注意hidden设置为false,就会弹出来。
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'; color: #454545}p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'; color: #e4af0a}p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'; color: #454545; min-height: 14.0px}p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px '.PingFang SC'; color: #454545}span.s1 {font: 12.0px '.PingFang SC'}span.s2 {font: 17.0px 'PingFang SC'}span.s3 {font: 17.0px 'Helvetica Neue'}span.s4 {font: 12.0px 'Helvetica Neue'}
UIView animation (动画效果)
http://www.cocoachina.com/ios/20160727/17199.html
reactiveCocoa swift首先要知道reactive oc 是怎么使用的
支持swift 2.x和oc
http://blog.devtang.com/2014/02/11/reactivecocoa-introduction/
http://www.cocoachina.com/swift/20160727/17210.html
据说:reactivecocoa + mvvm的模式进行开发
一种监听信号量的处理方式
runloop 深入研究**** Runloop ****与线程保活
http://www.cocoachina.com/ios/20160728/17220.html
技术点:
http://www.code4app.com/thread-9683-1-1.html
简书中有一个直播的技术框架
http://www.jianshu.com/p/3b956bbeeb47
http://www.jianshu.com/p/b3e7fa514ab7
webView的使用
通讯交流很多人都是在使用“环信”,是什么东东,就是qq聊天的一种方式;
、需要阅读一下swiftJSON 这个类
有关插屏幕的设置,为什么不用xib的方式进行设置呢?那是因为总是实现不了背景的透明,所以这里应该都是通过storyBoard来实现透明的,有一点可以的话,再进
行修改。
插屏如果要重写的时候,应该要注意一下是背景颜色以及相关的按钮没有显示,可能是因为关联到其他的工程的组件上面了,所以这个要注意一下。
这个我也不知道为什么,所以应该尽可能的避免其他的工程打开,它们似乎有自动联系起来。
为什么swift中let 这样子用回出现错误????
查阅里面的阅读内容
deinit 相关的内容退出的时候
总结:
1、广告的弹出,就是内容上的弹出,为什么会显示不出俩,可能联系到其他的地方
还是会不出现半透明的现象,如果没有出现想要的结果,就设置一下window的backgroundColor 为透明uicolor.clearcolor
总结:
1、我们在不适用storyboard进行加载的时候,经常也是这样子的,需要设置window.backgroundColor = uicolor.cleancolor
2、swift中应该注意一下是什么?尤其是? 的使用,swift的语法
3、swift语言特性,是面向对象语言
4、collecitionView 的显示,就是内容上的显示== 来判断是不是这个collectionView,通过scrollview的转化也是没有问题的,
5、window的使用,尤其是在弹层上面,这个东东应该是尽可能使用storyBoard,而不是用xib,xib不发实现别经是透明或者半透明。
6、逻辑上的优化尽可能的封装。
有个问题:
1、就是oc中如果没有值的时候,我们都是适用什么呢?一般都是if来进行判断一下,然而数据解析我们都是适用jsonModel就是避免为空的时候出现崩溃;
2、swift中就有了optional来进行检查,没有值也不会报错。
swift中的optional的作用或者用法:
复习:
1、就是约束的计算(oc语言里面),这里有关约束的优先级,还有自动布局除了storyBoard还有几个组件是通过代码来进行完成的。
2、尤其是在oc上面容易出现可能是有nil的情况,nsstring的类型,什么时候是否为nil需要判断一下是什么?
3、 有关缓存,项目里面都是使用sqlite的小型数据库
4、view上面的组件,laodview进场使员工的,layoutsubview() 等等方法;
5、数据基本上都是在后台上拉取的,这个过程是怎么样进行处理的,
6、进度哪里来的数据在内存中传递,我们是可以进行处理进度条以及有关的约束内容。
7、pageViewcontroller 、ADinterstialAd 这两个新的东东是什么鬼;
网友评论