ios
kendami_happy
慢慢努力的软件开发工程师
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
沙盒(sandbox) 及 NSFileManager
每个APP程序只能在自己创建的文件系统区域中读取文件,此区域称为沙盒。所有的非代码文件都存储在此区域。 模拟器沙盒目录1. 前往文件夹:/Users/XX(用户)/Library/Developer/CoreSimulator/Devices/,如图1所示图12.查看Devices文件夹中“device_set.plist”文件,找到具体的模拟器,如图2所示。原创 2016-02-17 10:56:20 · 887 阅读 · 0 评论 -
拾遗系列(二)定时器
拾遗系列(二)定时器创建定时器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 · 308 阅读 · 0 评论 -
拾遗系列(一)之UIView
拾遗系列(一)之UIView说明:此系列只是本人在系统化夯实IOS基础时的一些记录。内容可能比较零散,也不是对某一点内容进行系统化的阐述。添加、删除控件[self.view addSubview:blueView];//self.view中添加blueView[blueView removeFromSuperview];//从父控件中删除blueView有时在有些需要中需要动态的增减控件父控件可原创 2016-06-07 21:16:50 · 706 阅读 · 0 评论 -
拾遗系列(五)Tips
图片拉伸//加载原图UIImage *image = [UIImage imageNamed:@""];//拉伸处理(说明需要保护的区域)image = [image resizableImageWithCapInsets:UIEdgeInsetsMake(30, 30, 30, 30) resizingMode:UIImageResizingModeStretch];UIButton *btn原创 2016-07-01 18:06:42 · 428 阅读 · 0 评论 -
拾遗系列(六)自动提示宏
使用场景//监听self.view 的frame属性[self.view addObserver:self forKeyPath:@"frame" options:NSKeyValueObservingOptionNew context:nil];// 只要监听的属性一改变,就会调用观察者的这个方法,通知你有新值- (void)observeValueForKeyPath:(NSString *转载 2016-07-01 20:48:30 · 385 阅读 · 0 评论 -
拾遗系列(七)iOS中的事件
iOS中的事件响应者对象只有继承了UIResponder的对象才能接收并处理事件,称为响应者对象如:UIApplication、UIViewController、UIViewUIView不接收触摸事件的三种情况1.不接收用户交互userInteractionEnabled = NO2.隐藏hidden = YES3.透明alpha = 0.0 ~ 0.01提示:UIImageView的u转载 2016-07-02 16:48:01 · 393 阅读 · 0 评论 -
拾遗系列(八)多线程(NSThread、GCD、NSOperation)
多线程实现方案 技术方案 简介 语言 线程生命周期 使用频率 pthread 一套通用的多线程API、适用于Unix\Linux\Windows等系统、跨平台\可移植、使用难度大 C 程序员管理 几乎不用 NSThread 使用更加面向对象、简单易用,可直接操作线程对象 OC 程序员管理(程序员自己创建,销毁由系统处理) 几乎不用 GCD转载 2016-07-02 19:57:11 · 517 阅读 · 0 评论 -
拾遗系列(九)RunLoop
跑圈基本作用:保持程序持续运行。 处理app各种事件(如触摸事件、定时器事件、selector事件) 节省CPU资源,提高程序性能;该做事做事,该休息时休息main函数中UIApplicationMain函数内部就启动了一个RunLoopRunLoop对象iOS中有2套API来访问和使用RunLoopFoundationNSRunLoopCore FoundationCFRunLoopR转载 2016-07-02 20:18:28 · 394 阅读 · 0 评论 -
拾遗系列(十)NSURLConnection(了解)
说明: NSURLConnection:用法简单,最古老最经典最直接的一种方案【坑比较多】NSURLSession:功能比NSURLConnection更加强大,苹果目前比较推荐使用这种技术【2013推出,iOS7开始出的技术】HTTP通信过程 - 请求HTTP协议规定:1个完整的由客户端发给服务器的HTTP请求中包含以下内容请求头:包含了对客户端的环境描述、客户端请求信息等GET /minio转载 2016-07-02 20:59:16 · 693 阅读 · 0 评论 -
拾遗系列(三)屏幕适配:Autolayout
autoresizing:子控件根据父控件变化而变化,父控件与子控件之间建立联系。autolayout:任何两个控件之间都可建立联系。(参照、约束) 目前两者是对立的,用autolayout需要关闭autoresizing。目前Xcode默认是autolayout模式。UILabel自动布局,只要有位置结束及宽度固定,系统会自动更新高度。此时uilabel边框会自动包住文字。layoutIf原创 2016-06-07 21:43:41 · 557 阅读 · 0 评论 -
远程消息推送
若app允许接受远程推送消息,需要在AppDelegate的didFinishLaunchingWithOptions方法中通知注册。 //推送 if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) { // 当前版本 >= iOS 8 [applic转载 2016-03-28 17:26:03 · 629 阅读 · 0 评论 -
自定义弹窗
本文自定义弹窗为KendamiView,基于UIViewController类@interface KendamiView : UIViewController类中需添加UIWindow属性@property (nonatomic, strong) UIWindow *showWindow;KendamiView初始化- (instancetype)init {原创 2016-03-28 12:22:04 · 400 阅读 · 0 评论 -
单例模式
现在一般使用线程安全方式创建单例+(DatabaseManager *)defaultManager { static DatabaseManager *defaultDatabaseManagerInstance = nil; static dispatch_once predicate; dispatch_once(&predicate,^{ defaultDatabaseM原创 2016-02-03 21:32:46 · 363 阅读 · 0 评论 -
NSMutableAttributedString初探
NSMutableAttributedString 指具有多属性字符串。如:字符串中有不同颜色的字。NSString *string = @"我的名字叫kendami啊";NSMutableAttributedString *aString = [[NSMutableAttributedString alloc]initWithString:string];[aString addAt原创 2016-03-17 09:06:34 · 391 阅读 · 0 评论 -
关于UITableView 的一些重用技术注意点
本文是关于UITableView一些重用技术和从xib加载UITableViewCell。原创 2016-03-06 20:14:47 · 451 阅读 · 0 评论 -
如何获取app 崩溃信息
目前有很多方式获取app崩溃的信息。如 umeng、苹果自带itunesconnect等等但也可以使用系统自带的NSSetUncaughtExceptionHandler。具体思路是,先将错误信息存储到app本地。等下次app启动时,将错误信息上传到服务器即可。注册崩溃信息“方法”// 应用由系统启动后的入口- (BOOL)application:(UIApplicatio原创 2016-03-06 21:35:37 · 692 阅读 · 0 评论 -
深拷贝与浅拷贝及页面跳转时赋值
首先尊重《深拷贝与浅拷贝》原创:https://segmentfault.com/a/1190000000604331本文主要增加在页面跳转时,如何使用浅拷贝与深拷贝。浅拷贝浅拷贝就是对内存地址的复制,让目标对象指针和源对象指向同一片内存空间。如:char* str = (char*)malloc(100);char* str2 = str;浅拷贝只是对对象的简单拷转载 2016-03-21 11:09:05 · 370 阅读 · 0 评论 -
设备相关信息
先介绍下iOS设备的一些硬件标识UDID: (unique device identifier) 设备唯一标识。*苹果已删除此接口UUID: (universally unique identifier) 通用唯一设备。NSString *uuid = [[NSUUID UUID] UUIDString];此函数每次执行会创建一个新的UUID。 IDFA、IDFVid原创 2016-03-13 19:50:15 · 447 阅读 · 0 评论 -
NSMutableURLRequest 设置cookie 及 NSHTTPCookieStorage机制
CookieCookie是由服务器端生成,发送给User-Agent(一般是浏览器或者客户端),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站地址时就发送该Cookie给服务器在使用UIWebView访问网站时,经常遇到的一个问题是需要登录。比如访问新浪微博,或者访问某个个人账号,但是需要直接访问url,却会被重定向到登录页进行登录。那么真正的浏览器是原创 2016-04-05 22:18:54 · 8310 阅读 · 0 评论 -
UINavigationController、UINavigationBar及navigationItem关系探讨
在设置标题栏时常常遇到修改标题、修改返回按钮标题、增加一些按钮等需求,实现过程中一般会把UINavigationController、UINavigationBar、navigationItem及self.navigationController.navigationItem之间概念会混淆。因此写了下面的博客概念描述UINavigationController:是一个ViewControl原创 2016-03-24 07:25:27 · 5257 阅读 · 0 评论 -
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 · 876 阅读 · 0 评论 -
拾遗系列(四) 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 · 575 阅读 · 0 评论
分享