ios

iOS - MFi 认证

09-20
1.MFi 认证 1.1 什么是 MFi 认证 苹果 MFi 认证,是苹果公司(Apple Inc.)对其授权配件厂商生产的外置配件的一种标识使用许可,是 Apple 公司 "Made for iOS" 的英文缩写. 市面上认证产品的显著标识就是在包装正面出现如下白底黑字的苹果 MFi 授权 logo,如本文开头图片所示.苹果公司允许授权厂商在产品包装上印上授权标签.有句话叫无商不奸,如果消费者担心生产商作假,未授权的硬件也偷偷贴上 MFi 的授权标签,那么可以登录苹果的官方网站,进行

iOS - PairProgramming 结对编程

09-06
1.PairProgramming 结对编程(Pair-Programming)可能是近年来最为流行的编程方式.所谓结对编程,也就是两个人写一个程序,其中,一个人叫 Driver,另一个人叫 Observer,Driver 在编程代码,而 Observer 在旁边实时查看 Driver 的代码,并帮助 Driver 编程.并且,Driver 和 Observer 在一起时可以相互讨论,有效地避免了闭门造车,并可以减少后期的 code review 时间,以及代码的学习成本. 有实验证明,平均下来

iOS - Localizable 国际化

09-05
1.国际化 开发的移动应用更希望获取更多用户,走向世界,这就需要应用国际化,国际化其实就是多语言,系统会根据当前设备的语言环境来识别 App 中使用中文还是英文. 2.应用内容国际化 1.新建一个名为 Localizable.strings 的资源文件. 2.点击 Localizable.strings 文件,在右侧属性选择器中可以看到有个按钮 Localize.... 3.点击 Localize... 按钮,如果没做过国际化处理,选项只有 Base 和 English,选择 English 点

iOS - Project 项目

08-31
1.项目流程 1.1 分析项目的架构 iOS 常见的几种架构 标签式 Tab Menu 列表式 List Menu 抽屉式 Drawer 瀑布式 Waterfall 跳板式 Springborad 陈列馆式 Gallery 旋转木马式 Carousel 点聚式 Plus 1.2 项目开始前的准备工作 1.引入资源文件(图片,需要用到的第三方库) 2.封装(网络请求,工具类,数据库管理) 1.3 分析项目中的重点和难点 1.缓存意识 按需缓存:需要进行网络请求下载数据 预缓存:无需网络请求,将信息

iOS - OC NSStream 文件流

08-18
前言 @interface NSStream : NSObject @interface NSOutputStream : NSStream 1.文件流的使用 NSString *filePath = @"/Users/JHQ0228/Desktop/test.txt"; NSData *data = [@"hello world ! " dataUsingEncoding:NSUTF8StringEncoding]; // 以拼接的方式实例化文件流 NSOutpu

iOS - OC Category 分类

08-18
1.Category 1)分类/类别(category): 允许以模块的方式向现有类定义添加新的方法(默认不能添加实例变量).用以扩展自己或他人以前实现的类,使它适合自己的需要. 分类的名称括在类名之后的一对圆括号 "( )" 中. @interface QCStudent (Print) @end @implementation QCStudent (Print) @end 分类文件名使用符号"+"来分隔类和分类的名字(Xcode 会自动生成). QCStuden

iOS - OC NSTimeZone 时区

08-18
前言 @interface NSTimeZone : NSObject <NSCopying, NSSecureCoding> NSTimeZone 表示时区信息. 1.NSTimeZone 时区的创建 NSTimeZone *zone1 = [[NSTimeZone alloc] init]; // 根据时区名称创建 NSTimeZone *zone2 = [[NSTimeZone alloc] initWithName:@"America/Chicago"]; NSTi

iOS - OC 异常处理

08-17
1.@try 语句 @try { // Code that can potentially throw an exception 可能会抛出异常的代码块 statement . . . } @catch (NSException *exception) { // Handle an exception thrown in the @try block 处理 @try 块抛出的异常 NSLog(@"%@, %@", [exception name], [exception reason]

iOS - Swift SQLite 数据库存储

08-16
前言 采用 SQLite 数据库来存储数据.SQLite 作为一中小型数据库,应用 iOS 中,跟前三种保存方式相比,相对比较复杂一些. 注意:写入数据库,字符串可以采用 char 方式,而从数据库中取出 char 类型,当 char 类型有表示中文字符时,会出现乱码.这是因为数据库默认使用 ASCII 编码方式.所以要想正确从数据库中取出中文,需要用 NSString 来接收从数据库取出的字符串. sqlite 的方法: sqlite3 *db 数据库句柄,跟文件句柄很类似 sqlite3_s

iOS - Swift NSKeyedArchiver 数据归档

08-16
前言 public class NSKeyedArchiver : NSCoder public class NSKeyedUnarchiver : NSCoder 在 OC 语言中,归档是一个过程,即用某种格式来保存一个或多个对象,以便以后还原这些对象.通常,这个过程包括将(多个)对象写入文件中,以便以后读取该对象.可以使用归档的方法进行对象的深复制. 采用归档的形式来保存数据,该数据对象需要遵守 NSCoding 协议,并且该对象对应的类必须提供 encodeWithCoder: 和 ini

iOS - Swift NSValue 值

08-16
前言 public class NSValue : NSObject, NSCopying, NSSecureCoding 将任意数据类型包装成对象. 1.比较两个 NSValue 类型数据的大小 let value1:NSValue = NSValue(point: NSMakePoint(10, 32)) let value2:NSValue = NSValue(point: NSMakePoint(10, 32)) let bl1:Bool = value1 == value2 let b

iOS - Swift Dictionary 字典

08-16
前言 public struct Dictionary<Key : Hashable, Value> : CollectionType, DictionaryLiteralConvertible public class NSDictionary : NSObject, NSCopying, NSMutableCopying, NSSecureCoding, NSFastEnumeration 字典用于存储无序的数据元素值,它可以存储任何类型的元素,甚至可以将数组作为字典的元素. 1.Dict

iOS - TouchLock 手势锁

08-14
1.绘制手势锁 具体实现代码见 GitHub 源码 QExtension QTouchLockView.h @interface QTouchLockView : UIView /// 提示信息框 @property (nonatomic, strong) UILabel *alertLabel; /** * 创建手势锁视图控件,获取滑动手势结果 * * @param frame 手势锁视图控件的位置尺寸 * @param result 滑动手势结果,YES 成功,NO 失败 * * @retu

iOS - MVVM 架构模式

08-14
1.MVVM 从字面意思来理解,MVVM 即 Modal View ViewModel(模型 视图 视图模型).MVC 是一个用来组织代码的权威范式,也是构建 iOS App 的标准模式.Apple 甚至是这么说的.在 MVC 下,所有的对象被归类为一个 model,一个 view,或一个 controller.Model 持有数据,View 显示与用户交互的界面,而 View Controller 调解 Model 和 View 之间的交互.然而,随着模块的迭代我们越来越发现 MVC 自身存在

iOS - CoreMotion

08-10
前言 NS_CLASS_AVAILABLE(NA,4_0) @interface CMMotionManager : NSObject @available(iOS 4.0, *) public class CMMotionManager : NSObject 对于 iPhone 手机来说,画面上下为 y 轴,左右为 x 轴,前后为 z 轴.各自向上.向右和前面为正方向.当向上方向有作用力时,y 属性中设置相应的正值,当向左方向有作用力时,x 属性中设置相应负值.加速度不仅受震动手机时施加作用力

iOS - UIAlertController

08-10
前言 NS_CLASS_AVAILABLE_IOS(8_0) @interface UIAlertController : UIViewController @available(iOS 8.0, *) public class UIAlertController : UIViewController 1.alertController 的创建 Objective-C // 1. 创建时不添加按钮 // 实例化 alertController 对象 UIAlertController *aler

iOS - UIDatePicker

08-10
前言 NS_CLASS_AVAILABLE_IOS(2_0) __TVOS_PROHIBITED @interface UIDatePicker : UIControl <NSCoding> @available(iOS 2.0, *) public class UIDatePicker : UIControl, NSCoding UIDatePicker 是 UIKit 控件中提供日期和时间选择的控件. 1.DatePicker 的创建 Objective-C // 不设置 frame 时为

iOS - UIActionSheet

08-08
前言 NS_CLASS_DEPRECATED_IOS(2_0, 8_3, "UIActionSheet is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleActionSheet instead") __TVOS_PROHIBITED @interface UIActionSheet : UIView @available(iOS, introduced=2.0, dep

iOS - UIAlertView

08-08
前言 NS_CLASS_DEPRECATED_IOS(2_0, 9_0, "UIAlertView is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleAlert instead") __TVOS_PROHIBITED @interface UIAlertView : UIView @available(iOS, introduced=2.0,deprecated=9.0

C++ code: 将程序的输出,保存到txt文档中,且每35个数,自动换行

03-09
  // write the predicted score into txt files       ofstream file("/home/wangxiao/Downloads/caffe-master/wangxiao/bvlc_alexnet/predict_score.txt",ios::app);      if(!file) return;      static int nu = 0;      if(nu < 35){        file <<