GCD 与 NSOperationQueue 区别

GCD与NSOperationQueue区别 区别 1 GCD是底层的C语言构成的API,而NSOperationQueue及相关对象是Objc的对象。在GCD中,在队列中执行的是由block构成的任务,这是一个轻量级的数据结构;而Operation作为一个对象,为我们提供了更多的选择……

阅读全文

IOS与sqlite及归档(更新)

IOS与sqlite及归档 起因 业务需求!以前项目都是用到归档!很小用数据库!所有特意研究sqlite数据库及其封装~~~ 归档优缺点 1 简单 2 数据量大时效率低下,且不能增量改变,必须一次写入 数据库优缺 1 可以增量改变 2 相对于归档比较复杂 sqlite sqlite 增删改查基本封装 使用 已封装为已类名为表头,一张……

阅读全文

ios openCV 基本集成和简单应用

起因 还是为自己准备想自己前进!想研究一下opencv 素材! 参考 github 一 github 二 iOS结合OpenCV做视频流处理或人脸识别 整合demo 中国版github 该DEMO整合了 IJKPlayer GPUIMAGE OpenCv!等直播 视频相关的类! 附上部分测试效果 /** openCv 每秒回调30次 代理 */ - (void)processImage:(cv::Mat &)image{ //@[@"默认",……

阅读全文

SDWebImage和AFNetworking及原生缓存策略的比较

起因 重温旧知识; 参考 SDWebImage缓存机制策略 参考一 SDWebImage缓存机制策略 参考二 AFNetWorking 和 SDWebImage 图片缓存对比 区别 AFNetworking 利用的是http的缓存机制!做本地缓存! SDWebImage 利用的是本地文件缓存! 自从iOS5.0之后,NSURLCache 已经加入了硬盘缓存操作,那么SDWebImage对比朴……

阅读全文

IOS和carsh说再见

IOS和carsh说再见 起因 工作有空没任务就恶补一下基础东西就好了! 错误类型 1 空指针 (根本问题) 2 越界 (根本问题) 3 项目文件xib引用错误 (衍生问题) 4 服务端返回错误 (衍生问题) 5 三方SDK启动失败 (衍生问题) 解决方法 别人家的carsh总结参考 部分基类carsh扩展处理源文件 gi……

阅读全文

在debain下,用cups安装hp2130打印机驱动

安装 cups apt-get install cups cups配置文件 安装hpcups apt-get install printer-driver-hpcups ppd文件集合 ppd文件集合 hp2130驱动PPD 将hp-deskjet_2130_series.ppd复制到以下目录 /usr/share/cups/model/ 按英文提示完成操作……

阅读全文

Xcode 自建freamwork 测试与debug

参考链接 建立freamwork file -> new ->target -> ios ->freamwork & Library 配置 整个工程结构 允许执行类型 debug 模式下需要设置 release 模式下需要设置 真机 模拟器 及脚步脚本 if [ "${ACTION}" = "build" ] then INSTALL_DIR=${SRCROOT}/Products/${PROJECT_NAME}.framework DEVICE_DIR=${BUILD_ROOT}/${CONFIGURATION}-iphoneos/${PROJECT_NAME}.framework SIMULATOR_DIR=${BUILD_ROOT}/${CONFIGURATION}-iphonesimulator/${PROJECT_NAME}.framework if [ -d "${INSTALL_DIR}" ] then rm -rf "${INSTALL_DIR}" fi mkdir -p "${INSTALL_DIR}" cp -R "${DEVICE_DIR}/" "${INSTALL_DIR}/" #ditto "${DEVICE_DIR}/Headers" "${INSTALL_DIR}/Headers" lipo -create "${DEVICE_DIR}/${PROJECT_NAME}" "${SIMULATOR_DIR}/${PROJECT_NAME}" -output "${INSTALL_DIR}/${PROJECT_NAME}" #open "${DEVICE_DIR}" open "${SRCROOT}/Products" fi 外放*.h 引用 #import <FrameworkTest/FrameworkTest.h> MyClass *obj = [[MyClass alloc]init]; PKLog(@"%@",obj.getMessage);……

阅读全文

视频直播框架ijkplayer

ijkplayer 视频直播框架 参考链接 ijkplayer 视频直播框架 生成模拟器和设备framework 生成配置 版本合并 合并脚本 合并命令 if [ "${ACTION}" = "build" ] then FRAMEWORK_NAME=IJKMediaFramework #FRAMEWORK_NAME=${PROJECT_NAME} INSTALL_DIR=${SRCROOT}/Products/${FRAMEWORK_NAME}.framework DEVICE_DIR=${BUILD_ROOT}/${CONFIGURATION}-iphoneos/${FRAMEWORK_NAME}.framework SIMULATOR_DIR=${BUILD_ROOT}/${CONFIGURATION}-iphonesimulator/${FRAMEWORK_NAME}.framework if [ -d "${INSTALL_DIR}" ] then rm -rf "${INSTALL_DIR}" fi mkdir -p "${INSTALL_DIR}" cp -R "${DEVICE_DIR}/" "${INSTALL_DIR}/" #ditto "${DEVICE_DIR}/Headers" "${INSTALL_DIR}/Headers" lipo -create "${DEVICE_DIR}/${FRAMEWORK_NAME}" "${SIMULATOR_DIR}/${FRAMEWORK_NAME}" -output "${INSTALL_DIR}/${FRAMEWORK_NAME}" #open "${DEVICE_DIR}" open "${SRCROOT}/Products" fi IJK简单实用 #import <IJKMediaFramework/IJKMediaFramework.h> - (void)setup{ //直播 self.url = @"http://live.hkstv.hk.lxdns.com/live/hks/playlist.m3u8"; [IJKFFMoviePlayerController setLogReport:false]; [IJKFFMoviePlayerController setLogLevel:k_IJK_LOG_DEBUG]; [IJKFFMoviePlayerController checkIfFFmpegVersionMatch:true]; IJKFFOptions *options = [IJKFFOptions optionsByDefault]; _IJKPlayer = [[IJKFFMoviePlayerController alloc]initWithContentURLString:self.url withOptions:options]; [_IJKPlayer prepareToPlay]; _IJKPlayer.view.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight; _IJKPlayer.view.size = self.view.size; _IJKPlayer.shouldAutoplay = YES; [_IJKPlayer……

阅读全文

extends implements interface区别

#extends implements interface区别 接口:implements及其基本应用 interface implements 暴露的规则参考 interface implements 参考网址 interface USB//暴露的规则 { public abstract void open();//开启 public abstract void close();//关闭 } class Mouse implements USB//实现规则 { public void open() { System.out.println("Mouse open"); } public void close() { System.out.println("Mouse close"); } } class Upan implements USB { public void open() { System.out.println("Upan open"); } public void close() { System.out.println("Upan close"); } } //这……

阅读全文

mvvm 架构下的单页面 spa web 应用

#### main.js引入格式 import Vue from ‘vue’ import VueRouter from ‘vue-router’ import App from ‘./App’ import MuseUI from ‘muse-ui’ import ‘muse-ui/dist/muse-ui.css’ // 使用路由插件 Vue.use(VueRouter) Vue.use(MuseUI) // 引入路由配置文件 import routes from ‘./config/routes’ // 使用配置文件规则 const router = new VueRouter({ mode: ‘history’, base: __dirname, routes: routes }) new Vue({ router: router, render: h => h(App) }).$mount(’#app’) #### 路由配置格式 // 路由规则设置 export default [ { path: ‘/’, component: require(’../page/dynamic/index’) }, { path: ‘/dynamic’, component: require(’../page/dynamic/index’) }, { path: ‘/more’, component: require(’../page/more/index’) }, { path: ‘/device’, component: require(’../page/device/index’) }, { path: ‘/device/control’, component: require(’../page/device/deviceControl/deviceControl’) }, { path: ‘/login’, component: require(’../page/login/login/index’) }, { path: ‘/regist’, component: require(’../page/login/regist/index’)……

阅读全文