Objective-c和swift:
NSString----->Stirng NSArray------->Array<AnyObject> NSDictionary------>Dictionary<NSObject, AnyObject> Int Float Doulbe Bool------>NSNumber
这些可以用as强制互相转换,比如你将swift中的Array转换成了OC中的NSArray,你就可以调用NSArray中的方法了。
Property List,是一个类型已知的AnyObject类型的数据集合,比如一个NSDictionary,它的键是NSString,值是NSDate组成的NSArray数组。可用在隐式的传递数据,因为在传递的过程中谁也不知道这个AnyObject是什么类型,就像cookie。还可以用作繁星,因为AnyObject可以是任意类型。
NSUserDefaults 是一个微型数据库,只能存储Property List,用来存储设置,参数等信息,它性能并不好所以不能用来存放图片等大型数据~,它的结构就像字典,用键值来标注储存的List,在你的App退出后它还是会保存这些数据
View
使用CGFloat类型来表示控件和触摸在屏幕中的坐标。当你使用Double或Float时,需要用CGFloat()方法转化CGPoint,CGSize分别代表位置和大小。CGRect由前两个组成,CGRect有很多有趣的方法。
在view里绘图和在canvas里绘图很像,使用UIBezierPath对象获得画笔,但在设置颜色的时候使用UIColor.GreenColor().setFill()或setStroke()。
可以绘制透明色,使用.colorWithAlphaComponent()方法,不过需要先把opaqe属性设置为false。可以通过设置hidden属性来完全隐藏View
使用UIFontTextStyle.Headline/Body/Footnote等来设置字体,这是IOS的推荐字体,使用这样的字体有助于优化体验。
创建图像,将图像放在images.xcassets文件夹中,比如说ght.jpg。那么创建UIImage对象时使用:let image: UIImage? = UIImage(named: "ght")即可,注意返回的是一个Optional。还可以自己创建图像貌似,不过还需要探究。画的时候直接image点上方法就可以画了。
当用户旋转设备时会造成bounds的变化,原有的界面会被默认的拉伸,这当然不是我们想要的。这时使用UIViewContentMode对象可以做到一些重绘之类的修改。
这篇笔记探讨了Swift与Objective-C之间的类型转换,重点介绍了Property List的概念及其在数据传递中的作用。还详细讲解了NSUserDefaults的使用,以及在iOS中View的坐标系统、绘图方法和图像处理。在View部分,提到了使用CGFloat、UIBezierPath绘图,以及如何处理图像和响应设备旋转时的界面调整。
1234

被折叠的 条评论
为什么被折叠?



