as 1.编译器进行类型转换合法性检查:静态 let cell = collectionView.dequeueReusableCell(withReuseIdentifier: shoppingList[indexPath.section], for: indexPath as IndexPath) let k = cell as IndexPath Cannot convert value of type 'UICollectionViewCell' to type 'IndexPath'…
String是Swift里新增加的类型,它与原来的NSString可以很方便地互相转换.但在实际开发中,我们该如何选择? 1,能使用String类型就尽量使用String类型,原因如下: (1)现在Cocoa里所有的API都能接受和返回String类型,所以也没必要特地转换下. (2)Swift的String是struct,而NSString类是NSObject,所以String更符合字符串“不变”这一特性.同时,在不触及NSString特有操作和动态特性的时候,使用String的方法,在性能上…
最近在回答StackOverflow的问题时,发现performSelector方法在Swift被去掉,Apple的注释是这个方法被去掉是因为不安全: NOTE The performSelector: method and related selector-invoking methods are not imported in Swift because they are inherently unsafe. 如果在Swift调用这个方法会编译出错: 'performSelector' is…
在OC里使用惯了AFNetworking,比较喜欢这一个第三方库,在别的途径里得知可以在Swift里使用AFNetworking.但是那个时候我不知道具体的操作是怎样的,于是我只能去百度.GOOGLE了,还好让我给找到了答案,因而在这里和大家分享一下. 1.首先把下载好的AFN库直接拖到工程中 2.这里把Copy item if needed这个选项勾上,然后点完成 3.这时会有一个弹出框,点击YES 4.这个是拖拽好的截图,你会发现多了一个Header文件,也就是图中高亮的那个文件了.因为我的…
Swift里对于字符串这些引入了index型,相对其他语言而言字符操作更安全了,但是问题就是一不注意搞错范围就会有各种离奇的bug. 在讲主题前,先说个小细节. Swift里非常严密的定义了一大堆字符串长度量,但我们实际开发基本上只有字符(character)的长度有用. 还是上例子 var strTemp = "这只是一个萌萌哒小测试" print("萌萌哒长度: " + String(strTemp.characters.count)) 运行结果如下: 萌萌哒长…
原文:Swift语言指南(七)--语言基础之布尔值和类型别名 布尔值 Swift有一个基本布尔类型,叫做布尔(bool),布尔值又称逻辑值(logical),因为它只能为真(true)或假(false).Swift提供了两个布尔常量值:true,false: let orangesAreOrange(橙子是橙子) = true let turnipsAreDelicious(芜菁很美味) = false orangesAreOrange和turnipsAreDelicious被推断为布尔类型,因…
昨日内容回顾 1. 三个类 ChangeList,封装列表页面需要的所有数据. StarkConfig,生成URL和视图对应关系 + 默认配置 AdminSite,用于保存 数据库类 和 处理该类的对象 的对应关系 + 路由分发 _registry = { } 2. 知识点 inclusion_tag yield urlencode _meta.model_name _meta.app_label 深浅拷贝 QueryDict对象默认不可改 _mutable=True 生成器 路由分发: - i…
中缀语法是OC里特有的一种,就是在函数的参数前面加一个解释词,让调用的时候明白该参数的含义 比如: -(void)processDataWithparamaA:(NSString *)paramaA paramaB:(NSString *)paramaB{ } 调用的时候: [self processDataWithparamaA:@"A" paramaB:@"B"]; 不过你发现没,这中缀语法的前提是你必须在函数名的最前面,写个With啥的说明第一个参数的名字,否…
下午在适配iPadUI的时候,用到了UIPopoverPresentationController,然后在转屏的时候需要调用UIPopoverPresentationControllerDelegate来返回一个适配后的view和CGRect,这里先看下在OC里的写法: - (void)popoverPresentationController: (nonnull UIPopoverPresentationController *) popoverPresentationController w…
nginx在反向代理的时候,proxy_pass需要指定路径,有无"/"的区别,如下:   location /lile { 配置一: proxy_pass http://192.168.0.37/; 配置二: proxy_pass http://192.168.0.37; } 环境说明: 反向代理服务器:192.168.0.224真实数据机器:192.168.0.37   1:先配置真实数据机的nginx配置文件   worker_processes ; events { worke…