#import "ViewController.h" @interface ViewController () @property(nonatomic,nullable)NSString*name;//可以为空 @property(nonatomic,nonnull)NSString*password;//不可为空 @property(nonatomic,null_unspecified)NSString*unkonw;//未知类型 @property(nonatomic)NSStri…
一:如何去学习?都去学习什么? 1:学习优秀项目的设计思想,多问几个为什么,为什么要这么设计,这么设计的好处是什么,还能不能在优化 ,如何应用到自己的项目中 2:学习优秀项目的代码风格,代码的封装设计思想,为什么要这么设计,这么设计的好处是什么,还能不能在优化 ,如何应用到自己的项目中,每行代码都要用心去写,每一行代码都要力求使最简洁的 3:学习别人遇到问题是如何分析问题,解决问题的方法是什么 4:遇到新东西应该如何去学习:1:先研究要学习的东西作用是什么 ,有什么好处  2:如何使用:具体的语…
1.nonnull:字面意思就能知道:不能为空(用来修饰属性,或者方法的参数,方法的返回值) 代码: //三种使用方式都可以 @property (nonatomic, copy, nonnull) NSString *name; @property (nonatomic, copy) NSString * _Nonnull name; @property (nonatomic, copy) NSString * __nonnull name; //补充(不适用于assign属性,因为它是专门用…
相信在开发过程中,很多小伙伴们儿都会见到nullable,nonnull,null_resettable,_Null_unspecified这几个关键字,但是并不知道它们是什么意思,下面我就给大家一一解释一下. 在解释这四个关键字之前,先给大家普及一下关键字是干嘛的. 关键字:可以用于属性,方法返回值和参数中. 关键字作用:提示作用,告诉开发者属性信息. 关键字好处:提高代码规划,减少沟通成本. nullable作用:可能为空. 语法如下: @property (nonatomic, stron…
iOS9 新出的关键字:用来修饰属性,或者方法的参数,返回值 好处:1.迎合swift 2.提高我们开发人员开发规范,减少程序员之间的交流 注意:iOS9新出的的关键字nonnull,nullable,null_unspecified,null_resettable只能修饰对象,不能修饰基本数据类型 nullable : 修饰的对象可以为空 书写方式: 1.@property (nonatomic , strong) NSString * __nullable company; 2.@prope…
2015苹果全球开发者大会在6月9日凌晨,美国旧金山举行,fir.im 整理了一部分的资料,帮助了解 iOS9 的新特性与功能,感兴趣的可以看下. 关于iOS9新增功能 在WWDC 2015上苹果介绍了 iOS 9的主要新功能,比如 Siri 更加智能化,iPad的分屏多任务处理,地图应用增加 Transit 导航,新的 News app 等等.不过也有一些内容是苹果无暇在主题演讲中介绍,或者一提而过足以让你忽略的,以下是隐藏在 iOS 9中的一些改变,包括 iCloud Drive.Go Ba…
Demo1_iOS9网络适配_改用更安全的HTTPS iOS9把所有的http请求都改为https了:iOS9系统发送的网络请求将统一使用TLS 1.2 SSL.采用TLS 1.2 协议,目的是 强制增强数据访问安全,而且 系统 Foundation 框架下的相关网络请求,将不再默认使用 Http 等不安全的网络协议,而默认采用 TLS 1.2.服务器因此需要更新,以解析相关数据.如不更新,可通过在 Info.plist 中声明,倒退回不安全的网络请求. 书归正传[严肃脸],我们正式讨论下 WH…
一.引言 随着autolayout的推广开来,更多的app开始使用自动布局的方式来构建自己的UI系统,autolayout配合storyBoard和一些第三方的框架,对于创建约束来说,已经十分方便,但是对于一些动态的线性布局的视图,我们需要手动添加的约束不仅非常多,而且如果我们需要插入或者移除其中的一些UI元素的时候,我们又要做大量的修改约束的工作,UIStackView正好可以解决这样的问题. 二.在storyBoard上初识StackView UIStackView是一个管理一组堆叠视图的控…
在以前iOS开发中,涉及联系人相关的编程,代码都非常繁琐,并且框架的设计也不是Objective-C风格的,这使开发者用起来非常的难受.在iOS9中,apple终于解决了这个问题,全新的Contacts Framework将完全替代AddressBookFramework,AddressBookFramework也将成为历史被弃用. Contacts Framework这一新的框架是iOS9新特性中十分受欢迎的一个.apple的Objective—C体系也更加完善与强大. 一.ContactsU…
本文主要是说一些iOS9适配中出现的坑,如果只是要单纯的了解iOS9新特性可以看瞄神的开发者所需要知道的 iOS 9 SDK 新特性.9月17日凌晨,苹果给用户推送了iOS9正式版,随着有用户陆续升级iOS9,也就逐渐的衍生出了一系列的问题,笔者也在赶忙为自己维护的App做适配,本文写的一些坑基本都是亲身体验了. 一.NSAppTransportSecurity iOS9让所有的HTTP默认使用了HTTPS,原来的HTTP协议传输都改成TLS1.2协议进行传输.直接造成的情况就是App发请求的时…
UWP中新加的数据绑定方式x:Bind分析总结 0x00 UWP中的x:Bind 由之前有过WPF开发经验,所以在学习UWP的时候直接省略了XAML.数据绑定等几个看着十分眼熟的主题.学习过程中倒是也没遇到麻烦.直到在园子里看到了这篇文章: http://www.cnblogs.com/gaoshang212/p/4534138.html 原来UWP的绑定中新加了个x:Bind,从文章中可以看到x:Bind的效率是很高的.找到MSDN(数据绑定)看了一下(完整的学习目录可参见: http://w…
redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的. 一般用缓存对象时,通过序列化存储,在实体类新加字段的时候,反序列化成对象是新加字段会为空,这个问题很容易被忽略,如果自己没有做好处理,上线会有大…
提示两点:*新加的硬盘需要重启服务器fdisk -l才能看到*下面操作要用root账户大概是这样的,查看-分区-格式化-挂载-重启自动挂载1.加硬盘后重启服务器查看[root@test199 ~]# fdisk -l Disk /dev/sdb: 214.7 GB, 214748364800 bytes255 heads, 63 sectors/track, 26108 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector…
今天新加了一块硬盘,进入bios中可以看到新加的硬盘,但是进入系统后在磁盘管理及磁盘驱动器中都看不到.并且在设备管理器下其他设备出现了ATA channel1,前面显示感叹号,如下图所示: 而且电脑变得特别的卡.最后在一位同事的帮助下,终于解决了. 解决方法如下: 1.在ATA channel1上右击,点击更新驱动程序软件=>浏览计算机以查找驱动程序软件=>在浏览中选择C:\windows\winsxs=>下一步 2.然后你将会在IDE ATA/ATAPI控制器中看到ATA channe…
我在阿里这仨月 Alibaba 试用期是三个月,转眼三个月过去了,也到了转正述职的时间.回想这三个月做过的事情,很多很杂,但还是有重点. 本文谈一谈工作中遇到的各种场景,需要用到的一些前端知识,以及我对前端进阶学习的一点思考. 一.漫谈 刚入职不久阿里巴巴就上市了,这是件振奋人心的事情.实际上在正式入职之前,我就已经在淘宝UED实习了三个月,所以这边的工作环境和开发流程都比较熟悉了. 在工作中,遇到了很多这样的场景: 1. 线上 bug 处理 运营:“嘿,小胡子,有客户反馈这个提交表单的页面中,…
Xcode And iOS9 1. Xcode7 新特性 > 可直接在真机上运行自己的应用,只需要有苹果账号,无需购买苹果开发者账号. > 可设置在出现 EXC_BAD_ACCESS 错误时,显示更详细的错误信息. 设置方式:XCode->Product->Scheme->Edit Scheme 左侧选择“Run” 右侧选择“Diagnostics(诊断)” 在“Runtime Sanitization(运行时净化处理)” 勾选“Enable Address Sanitize…
EF6.0相对于5.0新加了很多功能.先看看两个模式的一些特点. 数据库优先(设计者)和代码优先两者的特点: 连接弹性 异步查询和保存 基于代码的配置 数据库命令记录 数据库命令截取 依赖决议 DbSet.AddRange / RemoveRange 更好的交易支持 可插拔的多元化和单一化服务 可测试性改进 用打开的连接创建上下文 提高性能和预热时间 Code-First的特点: 自定义约定 插入,更新和删除实体CUD操作的存储过程 索引属性(EF 6.1) 每个数据库多上下文 嵌套的实体类型…
 iOS9新特性之泛型 作用:限制类型 好处:1.提高开发规范,减少程序员之间的交流 2.通过集合取出来的对象,直接当作泛型对象使用,可以直接使用点语法(id类型不能使用点语法) 使用场景: 1.在集合(数组.字典.NSSet)中使用泛型比较常见 2.当声明一个类,类里面的某些属性的类型不确定,这时候才使用泛型 书写规范: 场景1示例 @property (nonatomic ,strong)NSMutableArray<NSString*> *datas; 场景2示例 Person类中 #i…
在实际情况中,很容易有系统硬盘空间不够,然后需要添加新硬盘情况:这里我用vmware来模拟实验: 一:在一个Linux vmware上创建一个虚拟硬盘   1.打开vmware,选择一个已经搭建好的linux虚机,点编辑 2.点击 add 3.选择 hard disk  ,下一步 4. 默认第一个,下一步 5.选择scsi,下一步 6.分配硬盘大小后,下一步 7.给这个虚机起给名字 创建一个虚拟硬盘完成. 二:对硬盘分区 1.打开这个vmware虚拟,登录系统 进入/dev目录下,我们会看到我从…
磁盘在系统刚分区的时候可以做磁盘分区最好 1.右键我的电脑,选在管理 2.在此窗口下依次展开选项,点击存储->磁盘管理,右边是我已经分好的盘不用看的 3.确认一下我的电脑的各个盘的空间,选择要压缩的空间,本次以E盘为例 4.右键点击E盘,选择 压缩卷,然后默认的界面是平均分配我的E盘大小,我的是默认点击压缩就可以,如果想调整可以手动输入值 5.右击压缩好的文档,点击新加卷 6.点击下一步 7.默认选项,仍然是点击下一步 8.给新盘选择一个新名字,右边可以选 9.也是默认选项,点击下一步 10.检…
虚拟机硬盘空间不够了,做了lvm准备加块硬盘扩容,在vcenter控制台加了磁盘,结果操作系统里面fdisk -l看不到新加的硬盘,又不想重启怎么办,一条命令就可以搞定. # 注意中间有空格echo "- - -" >  /sys/class/scsi_host/host0/scan [root@web03_back:/data]# fdisk -l Disk /dev/sda: 536.9 GB, 536870912000 bytes255 heads, 63 sectors/…
今新加网卡NAT连接,配置好之后始终出现eth1:link is not ready. 虚拟机与本机不能建立连接. 解决方案:windows里面打开服务开启VMware NAT Service,并关闭防火墙Windows Firewall.…
eclipse 从git取项目,导入为maven项目,新加的方法,报加载主类错误 具体描述: 整体编译能够编译成功,但新加一个java,里面创建一个main方法,运行时,报无法加载主类的错误, 整体编译后,又能运行成功 诊断为无法自动编译 试过各种方法,最终找到以下可行方案 在项目的  .project 加入以下配置 <buildCommand> <name>org.eclipse.jdt.core.javabuilder</name> <arguments>…
随着业务的扩展,原有的存储池不够用了,这时我们就需要给ceph添加新的存储节点,这里以新加ceph-host-05节点为例   准备工作 给所有节点hosts文件添加10.30.1.225 ceph-host-05,并修改ceph-host-05的/etc/hosts节点如下 [root@ceph-host-05 ~]# cat /etc/hosts 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdo…
新加组织后登录报错如下: 这个是因为你新还原的组织原来绑定的加密GUID和现有的组织冲突导致的,所以需要重新为数据加密绑定一个GUID 解决办法:随机生成一个GUID 可以在https://guidgenerator.com/网站进行生成 之后按路径: 设置->数据管理->数据加密 将新的GUID填写到更改加密密钥中再进行更改就可以解决这个问题了.…
步骤:1.分区  ----> 2.格式化  ----> 3.挂载 一.查看当前情况 1. 2. 二.磁盘分区 fdisk /dev/sdb 1.输入n,表示添加一个新的分区 2. e extended # 扩展分区p primary partition (1-4) # 主分区 3.选择分区数 4.选择分区大小,两次都直接回车,表示使用所有的磁盘 5.保存---->输入w 6.查看新加的分区 fdisk -l 三.格式化 mkfs -t ext4 /dev/sdb1 四.挂载 1. 2.永…
/* nullable:1.怎么使用(语法) 2.什么时候使用(作用) nullable作用:可能为空 nullable 语法1 @property (nonatomic, strong, nullable) NSString *name; nullable 语法2 * 关键字 变量名 @property (nonatomic, strong) NSString * _Nullable name; nullable 语法3 @property (nonatomic, strong) NSStri…
1.关键字:可以用于属性 方法和返回值参数中 关键字作用:提示作用  告诉开发者属性信息 关键字的目的:迎合swift 强语言,swift必须要指定一个对象是否为空 关键字好处:提高代码规划,减少沟通成本 仅仅是提供警告并不会报编译错误 nullabel作用 :提示可能为空 语法 1 @property(nonatomic ,strong ,nullabel)NSString * name; 语法 2 @property(nonatomic ,strong )NSString * _Nullab…
#pragma mark -- nullable nullable:可以为空,只能修饰对象,不能修饰基本数据类型 // 方式一: @property (nonatomic, copy, nullable) NSString *name; // 方式二: @property (nonatomic, copy) NSString *_Nullable name; // 方式三: @property (nonatomic, copy) NSString *__nullable name; // 方法中…
首先__kindof:规定参数为UITableViewCell(举例)这个类或者其子类.比如说一个NSArray<UIView *>*,如果不加__kindof,这个数组只能有UIView,即便是其子类也不行.而加了的话,传入UIImageView或者UIButton之类的不会有问题.而__typeof会返回对应的类型. if marked as __kindof,  that the compiler won't complain if you try to access ones of i…