- 博客(29)
- 资源 (2)
- 收藏
- 关注
原创 Android神策全埋点中页面浏览增加自定义属性
页面浏览是产品在APP埋点中经常添加的需求,并且每个页面会新增很多特有属性。神策提供了所有页面全局埋点的方法,并且可以添加特有属性。一、页面增加特有属性1.初始化神策埋点SAConfigOptions saConfigOptions = new SAConfigOptions(SA_SERVER_URL);//开启全埋点浏览事件saConfigOptions.setAutoTrackEventType(SensorsAnalyticsAutoTrackEventType.APP_VIEW_SCRE
2020-05-10 11:32:14 1599 1
转载 拾遗系列(十)NSURLConnection(了解)
说明: NSURLConnection:用法简单,最古老最经典最直接的一种方案【坑比较多】NSURLSession:功能比NSURLConnection更加强大,苹果目前比较推荐使用这种技术【2013推出,iOS7开始出的技术】HTTP通信过程 - 请求HTTP协议规定:1个完整的由客户端发给服务器的HTTP请求中包含以下内容请求头:包含了对客户端的环境描述、客户端请求信息等GET /minio
2016-07-02 20:59:16 551
转载 拾遗系列(九)RunLoop
跑圈基本作用:保持程序持续运行。 处理app各种事件(如触摸事件、定时器事件、selector事件) 节省CPU资源,提高程序性能;该做事做事,该休息时休息main函数中UIApplicationMain函数内部就启动了一个RunLoopRunLoop对象iOS中有2套API来访问和使用RunLoopFoundationNSRunLoopCore FoundationCFRunLoopR
2016-07-02 20:18:28 354
转载 拾遗系列(八)多线程(NSThread、GCD、NSOperation)
多线程实现方案 技术方案 简介 语言 线程生命周期 使用频率 pthread 一套通用的多线程API、适用于Unix\Linux\Windows等系统、跨平台\可移植、使用难度大 C 程序员管理 几乎不用 NSThread 使用更加面向对象、简单易用,可直接操作线程对象 OC 程序员管理(程序员自己创建,销毁由系统处理) 几乎不用 GCD
2016-07-02 19:57:11 486
转载 拾遗系列(七)iOS中的事件
iOS中的事件响应者对象只有继承了UIResponder的对象才能接收并处理事件,称为响应者对象如:UIApplication、UIViewController、UIViewUIView不接收触摸事件的三种情况1.不接收用户交互userInteractionEnabled = NO2.隐藏hidden = YES3.透明alpha = 0.0 ~ 0.01提示:UIImageView的u
2016-07-02 16:48:01 346
转载 拾遗系列(六)自动提示宏
使用场景//监听self.view 的frame属性[self.view addObserver:self forKeyPath:@"frame" options:NSKeyValueObservingOptionNew context:nil];// 只要监听的属性一改变,就会调用观察者的这个方法,通知你有新值- (void)observeValueForKeyPath:(NSString *
2016-07-01 20:48:30 344
原创 拾遗系列(五)Tips
图片拉伸//加载原图UIImage *image = [UIImage imageNamed:@""];//拉伸处理(说明需要保护的区域)image = [image resizableImageWithCapInsets:UIEdgeInsetsMake(30, 30, 30, 30) resizingMode:UIImageResizingModeStretch];UIButton *btn
2016-07-01 18:06:42 388
原创 拾遗系列(四) UITableView
UITableView属性tableView.rowHeight = 60;//cell的行高Cell重用:方法一static NSString *cellName = @“cell”;UITableViewCell *cell = [tableView dequeueReusableCellWithId:cellName];if(cell == nil){ cell = [[UI
2016-06-21 16:46:17 541
原创 拾遗系列(三)屏幕适配:Autolayout
autoresizing:子控件根据父控件变化而变化,父控件与子控件之间建立联系。autolayout:任何两个控件之间都可建立联系。(参照、约束) 目前两者是对立的,用autolayout需要关闭autoresizing。目前Xcode默认是autolayout模式。UILabel自动布局,只要有位置结束及宽度固定,系统会自动更新高度。此时uilabel边框会自动包住文字。layoutIf
2016-06-07 21:43:41 498
原创 拾遗系列(二)定时器
拾遗系列(二)定时器创建定时器1.NSTimer *time = [NSTimer timerWithTimeInterval:1.5 target:self selector:@selector(nextPage) userInfo:nil repeat:YES][time fire];//需要手动启动,若写在局部变量中会释放time资源。2.NSTimer scheduledTimerWith
2016-06-07 21:32:26 279
原创 拾遗系列(一)之UIView
拾遗系列(一)之UIView说明:此系列只是本人在系统化夯实IOS基础时的一些记录。内容可能比较零散,也不是对某一点内容进行系统化的阐述。添加、删除控件[self.view addSubview:blueView];//self.view中添加blueView[blueView removeFromSuperview];//从父控件中删除blueView有时在有些需要中需要动态的增减控件父控件可
2016-06-07 21:16:50 660
原创 centos 下安装PHP框架 Phalcon
首先打开GITHUB的phalcon源码地址:https://github.com/phalcon/cphalcon 上面有安装步骤,如下1. 安装工具:sudo yum install php-devel pcre-devel gcc make2.下载phalcon源码:git clone git://github.com/phalcon/cphalcon.git,下载完之后可以通过
2016-05-19 07:46:11 2539
转载 objc对象归档(序列化)
NSString、NSArray、NSData、NSDictionary都实现了NSCoding协议,可直接通过调用writeToFile归档,那么OBJC自定义对象类型呢?首先实现NSCoding协议,重写encodeWithCode方法和initWithCode方法,然后通过NSKeyedArchiver转换为NSData,然后通过NSData的writeToFile方法写入到文件,或者将转换
2016-04-05 22:41:53 507
原创 NSMutableURLRequest 设置cookie 及 NSHTTPCookieStorage机制
CookieCookie是由服务器端生成,发送给User-Agent(一般是浏览器或者客户端),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站地址时就发送该Cookie给服务器在使用UIWebView访问网站时,经常遇到的一个问题是需要登录。比如访问新浪微博,或者访问某个个人账号,但是需要直接访问url,却会被重定向到登录页进行登录。那么真正的浏览器是
2016-04-05 22:18:54 8193
转载 远程消息推送
若app允许接受远程推送消息,需要在AppDelegate的didFinishLaunchingWithOptions方法中通知注册。 //推送 if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) { // 当前版本 >= iOS 8 [applic
2016-03-28 17:26:03 566
原创 自定义弹窗
本文自定义弹窗为KendamiView,基于UIViewController类@interface KendamiView : UIViewController类中需添加UIWindow属性@property (nonatomic, strong) UIWindow *showWindow;KendamiView初始化- (instancetype)init {
2016-03-28 12:22:04 353
原创 APP 审核被拒 umeng 分享问题
收到APP审核被拒如下:We noticed an issue in your app that contributes to a lower quality user experience than Apple users expect: - Upon tapping the QQ button from the share menu, a web page in mobile Sa
2016-03-27 10:47:48 797
原创 UINavigationController、UINavigationBar及navigationItem关系探讨
在设置标题栏时常常遇到修改标题、修改返回按钮标题、增加一些按钮等需求,实现过程中一般会把UINavigationController、UINavigationBar、navigationItem及self.navigationController.navigationItem之间概念会混淆。因此写了下面的博客概念描述UINavigationController:是一个ViewControl
2016-03-24 07:25:27 5163
转载 深拷贝与浅拷贝及页面跳转时赋值
首先尊重《深拷贝与浅拷贝》原创:https://segmentfault.com/a/1190000000604331本文主要增加在页面跳转时,如何使用浅拷贝与深拷贝。浅拷贝浅拷贝就是对内存地址的复制,让目标对象指针和源对象指向同一片内存空间。如:char* str = (char*)malloc(100);char* str2 = str;浅拷贝只是对对象的简单拷
2016-03-21 11:09:05 335
原创 NSMutableAttributedString初探
NSMutableAttributedString 指具有多属性字符串。如:字符串中有不同颜色的字。NSString *string = @"我的名字叫kendami啊";NSMutableAttributedString *aString = [[NSMutableAttributedString alloc]initWithString:string];[aString addAt
2016-03-17 09:06:34 354
原创 设备相关信息
先介绍下iOS设备的一些硬件标识UDID: (unique device identifier) 设备唯一标识。*苹果已删除此接口UUID: (universally unique identifier) 通用唯一设备。NSString *uuid = [[NSUUID UUID] UUIDString];此函数每次执行会创建一个新的UUID。 IDFA、IDFVid
2016-03-13 19:50:15 400
原创 如何获取app 崩溃信息
目前有很多方式获取app崩溃的信息。如 umeng、苹果自带itunesconnect等等但也可以使用系统自带的NSSetUncaughtExceptionHandler。具体思路是,先将错误信息存储到app本地。等下次app启动时,将错误信息上传到服务器即可。注册崩溃信息“方法”// 应用由系统启动后的入口- (BOOL)application:(UIApplicatio
2016-03-06 21:35:37 625
原创 沙盒(sandbox) 及 NSFileManager
每个APP程序只能在自己创建的文件系统区域中读取文件,此区域称为沙盒。所有的非代码文件都存储在此区域。 模拟器沙盒目录1. 前往文件夹:/Users/XX(用户)/Library/Developer/CoreSimulator/Devices/,如图1所示图12.查看Devices文件夹中“device_set.plist”文件,找到具体的模拟器,如图2所示。
2016-02-17 10:56:20 735
原创 单例模式
现在一般使用线程安全方式创建单例+(DatabaseManager *)defaultManager { static DatabaseManager *defaultDatabaseManagerInstance = nil; static dispatch_once predicate; dispatch_once(&predicate,^{ defaultDatabaseM
2016-02-03 21:32:46 335
原创 FMDB 加入数据库版本信息
什么是数据库版本信息本文所提及的数据库版本信息是指用一个版本号(形如1.0、2.0等)来标识当前数据库所有的表得结构。只要数据库表结构有变动,那么就需要用一个新的版本号去标识。为什么需要加入数据库版本场景:APP(v1.0.0) 数据库中有1个表 table1APP(v1.1.0) 数据库增加一张新表,table1 、table2APP(v1.2.0) 表table2增
2016-02-03 16:31:44 1312
原创 FMDB的简单使用
FMDB一种OC库,是对SQLite进行了包装。源代码地址 FMDB中包含三个主要类1. FMDatabase代表一个简单SQLite数据库,用来执行SQL语句。2. FMResultSetFMDatabase下执行SQL的结果集。3. FMDatabaseQueue用于多线程下“线程安全”的数据库队列。 创建数据库FMDatabase *db =[
2016-01-30 22:33:08 339
原创 @property 中的关键字
一、@property(nonatomic,copy) NSString *myName;其中nonatomic、copy都是关键字,关键字分为三类:1. 原子性1.1 atomic(默认):线程安全。1.2 nonatiomic:可被多线程访问,不安全。在单线程或明确只有一个线程时使用。2. 访问器控制2.1 readwrite(默认):同时拥有se
2016-01-29 16:20:45 476
原创 GCD (Grand Central Dispatch)
分发队列种类:Serial Dispatch Queue(串联)、Concurrent Dispatch Queue(并行)1.使用用户自己创建的队列dispatch_queue_t serialQueue=dispatch_queue_create("serial", DISPATCH_QUEUE_SERIAL);//dispatch_queue_t conc
2016-01-07 17:41:58 355
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人