IOS开发 笔记 – 内购
内购流程 请求商品列表 返回有效商品 显示购买项 支付 代码实现1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677// 引入头文件#import <StoreKit/StoreKit.h>@interface ViewController ()<SKProductsRequestDelegate, SKPaymentTransactionObserver>// 记录商品信息@property (nonatomic, strong) NSArray *products;@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; // 请求可售商品列表 // 创建商品ID无序集 NSSet *set =...
Swift 笔记 – 归档和解档
使用使用归档和解档来保存用户数据 归档:把当前对象保存到磁盘前,将对象编码成二进制数据解档:从磁盘加载二进制文件,转换成对象调用 12345678910111213141516171819202122232425262728293031import UIKit// 使用归档解裆前需要遵守 NSCoding 协议class UserAccount: NSObject, NSCoding { // NSCoding 协议中必须有两个方法需要实现 var userName: String? var userToken: String? var expiresDate: NSDate? var userDevices: String? func encodeWithCoder(aCoder: NSCoder) { aCoder.encodeObject(userName, forKey: "userName") aCoder.encodeObject(userToken, forKey:...
IOS开发 笔记 - UI
UI控件关联代码(Objective-C)123456789101112131415// ViewController#import "ViewController.h"// 扩展类@interface ViewController ()// (IBAction)是返回值,等于void,但如果想关联UI控件的执行动作,就必须设置为(IBAction)- (IBAction) test;@end@implementation ViewController// 实现- (void) test { NSLog(@"test");}@end IBAction、IBOutletIBAction从返回值角度看,作用相当于void,只有返回值声明IBAction的方法,才能跟storyboard中的控件连线IBOutlet是属性,只有声明IBOutlet的属性才能跟storyboard中的控件连线 多控件关联同一个方法只需拖到同一个IBAction上即可 获取当前控件12345- (IBAction)...
IOS开发 笔记 - CocoaPods
简介CocoaPods是专门为iOS工程提供第三方依赖库的管理工具,类似Node.js中的npm 安装12345678# 移除原生镜像gem sources --remove https://rubygems.org/# 添加国内镜像gem sources --add https://gems.ruby-china.com/# 安装CocoaPodsgem install cocoapods# 设置pod setup 使用在.xcodeproj文件所在目录下 12# 初始化pod init 此时目录下会创建一个Podfile的文件,编辑文件 如果使用Swift,需要在里面添加use_frameworks!这行代码,里面默认应该是注释的,打开即可 12# 查找需要的框架pod search afn 如果报错Unable to find a pod with name, author, summary, or description matching AFNetworking,使用另一种方式安装Cocoapods 1gem install cocoapods...
IOS开发 笔记 - CocoaPods
简介CocoaPods是专门为iOS工程提供第三方依赖库的管理工具,类似Node.js中的npm 安装12345678# 移除原生镜像gem sources --remove https://rubygems.org/# 添加国内镜像gem sources --add https://gems.ruby-china.com/# 安装CocoaPodsgem install cocoapods# 设置pod setup 使用在.xcodeproj文件所在目录下 12# 初始化pod init 此时目录下会创建一个Podfile的文件,编辑文件 如果使用Swift,需要在里面添加use_frameworks!这行代码,里面默认应该是注释的,打开即可 12# 查找需要的框架pod search afn 如果报错Unable to find a pod with name, author, summary, or description matching AFNetworking,使用另一种方式安装Cocoapods 1gem install cocoapods...
Swift 笔记 - 网路访问
基本的网络请求12345678let url = NSURL(string: "http://imba97.cn/wp-json/wp/v2/posts/491")NSURLSession.sharedSession().dataTaskWithURL(url!) { // 尾随闭包的参数,可省略回调函数的参数 (data, _, _) -> Void in // 函数体 // 1. 反序列化 NSJSONSerialization.JSONObjectWithData(data!, options: [NSJSONReadingOptions.MutableContainers,...
Swift 笔记 - 面向对象
类的定义所有的属性和方法都是全局共享的,不需要 import 12345678import UIKit// 定义 Person 类,继承自 NSObjectclass Person: NSObject { // 对象属性应该可变的,可选项允许变量为空 var name: String} 构造函数给属性分配空间,设置初始值,父类提供了构造函数需要对父类的构造函数进行扩展,使用关键字override 123456789101112131415import UIKitclass Person: NSObject { var name: String override init() { // name初始化只能在 super.init() 上面 name = "Zhang San" super.init() // name = "Zhang San" 再此处写会报错 }}// 实例化let p = Person()print(p.name); // Zhang...
Swift 笔记 - 基础语法
变量、常量1234// 定义变量var a = 10;// 定义常量let b = 10; 数字可以使用_或添加额外的0增加可读性 12let a = 100_0000; // 1000000let b = 001999; // 1999 字符串的拼接使用+,字符串嵌入变量使用\() 12345let hello = "hello"print(hello + " world"); // hello worldlet n = 100let str = "n is \(n)"; // n is 100 可选类型,定义变量时设置可选类型,让变量可为 nil,因为调用某些函数时不一定会返回正确的结果 1234import Foundationlet url = NSURL(string: "http://www.baidu.com")//...
2019总结
2019依然没目标没方向,引用“再见2019”的评论: 间歇性踌躇满志,持续性混吃等死。 干了几件事: 程序 Btools 这个算是件比较大的事了,从 2018-12-22 开始边看教程边做的,然后今年的1月16日发布到了 Chrome web store,在这之前其实我做了不少JS的小程序,都整合到了插件里,目前为止插件使用人数: 。 GitHub → とあるCMS 一个生成静态文章用的,目前的功能只有简单的生成首页、详情页、文章页,但可以高度自由定制。使用PHP框架Laravel做的,也是现学现卖。 GitHub → WdnmdApi 自己看教程撸的PHP框架,专注API开发。进度并没多少,边开发应用边完善框架。 GitHub → 网站 btools.cc Btools浏览器插件的官网。 imba97.cn ...
《难忘的初中一课》
.article-text-indent...