- 博客(37)
- 资源 (1)
- 收藏
- 关注
原创 view的生命周期
UIViewController中声明如下方法://加载视图- (void)loadView; //将要卸载视图- (void)viewWillUnload NS_DEPRECATED_IOS(5_0,6_0);//已经卸载视图- (void)viewDidUnload NS_DEPRECATED_IOS(3_0,6_0); //已经加载- (void)viewDidLoad; //视图将要显示-
2017-09-26 23:02:57
338
转载 iOS: 搜索控件UISearchController
官方文档:https://developer.apple.com/library/content/samplecode/TableSearch_UISearchController/Introduction/Intro.html#//apple_ref/doc/uid/TP40014683-Intro-DontLinkElementID_2
2017-09-24 22:07:02
432
原创 iOS中的谓词(NSPredicate)使用
iOS中的谓词(NSPredicate)使用http://www.cocoachina.com/ios/20160111/14926.html “使用谓词对集合元素进行过滤时,程序会自动遍历其元素,并根据集合元素来计算谓词的值,当这个集合中的元素计算谓词并返回YES时,这个元素才会被保留下来。” // 搜索栏输入的字符 NSString *inputStr = searchController.
2017-09-24 22:05:00
255
原创 iOS:使用YYModel实现本地JSON文件解析
1.在模型类中定义属性 属性名需要和JSON文件中key值保持一致@interface WBCityInfoModel : NSObject/// 城市名@property (nonatomic, copy) NSString *name;/// id@property (nonatomic, copy) NSString *idName;注意:属性名与系统重名,需要在.m文件中调用-(vo
2017-09-23 01:53:30
2368
原创 iOS: 本地通知&远程推送
本地推送AppDelegate.m 注册:- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0) {
2017-09-22 17:47:44
376
原创 iOS: 仿新浪微博 OC (持续更新ing)
效果图(暂定) 1.配置AppIcon和LaunchImage2.项目框架初建需求: 多视图控制器思路: (1) 自定义一个继承UITabBarController的类作为window的rootViewController (2) 给标签控制器上的每个子控制器包上一个根控制器 WBTabBarController.m- (void)viewDidLoad { [super
2017-09-21 21:40:22
2185
1
原创 # iOS Build Fail: library not found for -lAFNetworking #151
Duplicate of #99. Just open the .xcworkspace file instead of the .xcodeproj file. When you use CocoaPods, it creates a workspace file that needs to be opened in order for the builds to compile properly
2017-09-20 21:02:48
287
原创 报错:You need at least git version 1.8.5 to use CocoaPods
原因: 1.cocoapods安装成功,链接Xcode的版本过低 2.电脑安装了多个版本的Xcode,需要修改链接Xcode路径 修改链接命令是: sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
2017-09-19 21:05:48
572
原创 实现定位
(void)viewDidLoad { [super viewDidLoad];//1. 创建位置管理器 _mgr = [CLLocationManager new];//2. 用户授权 //当使用时授权 /* 注意配置plist数据: Privacy - Location When In Use Usage Description Privacy - Location Always
2017-09-16 21:17:57
292
原创 ATS 设置
ATS 设置<key>NSAppTransportSecurity</key><dict> <!--Include to allow all connections (DANGER)--> <key>NSAllowsArbitraryLoads</key> <true/></dict>
2017-09-16 01:29:12
473
原创 iOS:报错:闭包不调用
底部标签栏按钮可以点击,但按钮里面的闭包不能执行 原因: tabBar是用storyBoard搭建的 闭包由控制器执行, tabBar没有关联controller控制器
2017-09-11 21:25:18
254
翻译 userInfo和NSValue
userInfo Storage for values or objects related to this notification. 存储与此通知相关的值或对象。NSValue一个NSValue对象是用来存储一个C或者Objective-C数据的简单容器。它可以保存任意类型的数据,比如int,float,char,当然也可以是指pointers, structures, and obje
2017-09-09 21:05:22
278
原创 新浪微博加号按钮OC代码
#import "WBTabBar.h"@interface WBTabBar()/// 加号按钮@property(nonatomic,weak) UIButton *plusBtn;@end@implementation WBTabBar-(instancetype)initWithFrame:(CGRect)frame{ self = [super initWithFrame:fr
2017-08-31 20:47:54
579
原创 Swift基础:将闭包改为逃逸型场景
alt+左键 查看类型常量// 定义常量 let a = 10 let b = 20.5// 常量运算 (X) let result = a + b Binary operator ‘+’ cannot be applied to operands of type ‘Int’ and ‘Double// 转换类型 double型转为Int(b)// 指定常量类型 指定变量/常量
2017-08-27 21:04:41
368
原创 封装AFHTTPSessionManager
使用单例模式封装 (系统中有且只有一个这样的类,或是工具类类似AFHTTPSessionManager这样的,都可以考虑用单例模式)创建NetWorkManager类,继承AFHTTPSessionManager#import <AFNetworking/AFNetworking.h>@interface NetWorkManager : AFHTTPSessionManager// 第一步:建立
2017-08-14 21:54:58
2734
原创 CocoaPods更新后搜不到想要的框架
更新后,依然搜不到想要的框架原因: 是因为以前使用过的框架有缓存,再使用的时候系统没有去~/.cocoapods文件夹寻找,而是直接调用了Caches里存储的解决方法: 前往->资源库->Caches->删除CocoaPods文件,就OK~ ps:(更新CocoaPods,终端 输入’pod repo update’)
2017-08-11 21:51:03
399
原创 点击保存按钮后,数据无法逆传到cell显示,代理协议不调用
1.storyBoard搭建”联系人界面”和”添加联系人”界面 2.从cell-segue连线(kind:Show(e.g.Push))-到添加联系人(detailVC)界面 3.代码创建 + 号按钮( pushViewController:detailVC)运行发现,同样点击”保存”按钮,cell跳转进来,修改的数据可以正常逆传显示; +按钮push进来的,可以逆传,但无法显示在cell,代
2017-08-09 21:44:18
229
原创 串行队列/并发队列&异步任务/同步任务代码演练
串行队列+同步任务 /* 1.是否开线程? 不开 2.i是否有序? 是 3.mark在哪里执行? 最后 */- (void)demo01{ // 创建串行队列 : 队列标识符;队列属性 : 决定了队列是串行的还是并行的,DISPATCH_QUEUE_SERIAL NULL 都表示串行 dispatch_queue_t queue = dispatch
2017-08-09 00:43:48
541
原创 堆区 栈区 常量区 I/O操作耗时测试
- (void)longOperation{ NSLog(@"start"); //性能测试:开始时间 NSTimeInterval start = CACurrentMediaTime(); for (NSInteger i = 0; i < 1000000; i++) { //栈区// int a = 10;//耗时0.017035
2017-08-07 20:32:09
463
原创 SourceTree本地分支误删解决办法
ter-终端找回 git reflog git reast –hard(“此处填写第二次提交对应的编号”)
2017-08-06 22:07:45
7766
转载 UI-控制器创建的三种方式
//方法一:使用class创建(创建HMOneViewController类,继承UIViewController) // 实例化窗口 _window = [[UIWindow alloc] init]; _window.backgroundColor = [UIColor redColor]; HMOneViewController *vc = [[HMOneViewC
2017-07-11 21:49:12
254
原创 07-控件UITableViewController的使用:-header & -footer
[复习] tableView展示数据”三部曲” 1>.遵守协议”数据源协议” 2>.设置数据源 3>.实现数据源方法UITableViewController体验相当于一个控制器自带tableViewviewController管理的是viewtableViewController管理的是tableView 是全屏的在控件UITableViewController下self.
2017-07-05 20:41:57
463
原创 06-UI-TableView展示数据三部曲”
tableView展示数据三部曲” 1>.遵守协议”数据源协议” 2>.设置数据源 3>.实现数据源方法
2017-07-05 08:36:56
156
原创 03-UI 图片浏览,九宫格,应用管理界面搭建
最终效果图: ViewController.m文件#import "ViewController.h"#import "HMAppView.h"#import "HMAppModel.h"@interface ViewController ()/// 保存所有数据@property (nonatomic, strong) NSArray *appData;@end@implement
2017-06-29 19:53:34
368
原创 OC-类有三大特性:封装 继承 多态
01).封装 封装是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问。简而言之,信息隐藏,隐藏对象的实现细节,不让用户看到,以此来增强安全性和简化编程,进而达到封装的目的。 使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员。 访问修饰符:private、protect、public、
2017-06-20 23:31:30
271
原创 OC-快速调用对象的setter和getter方法----点语法
01).点语法01>.作用 快速调用对象的setter和getter方法02>.语法 对象 . 去掉下划线的属性名03>.赋值 对象 . 去掉下划线的属性名 = 数据;04>.取值 对象 . 去掉下划线的属性名 05>.使用注意 a.在getter 和 setter 方法中,慎用点语法,容易造成死循环- (void)setAge:(NSIn
2017-06-20 17:32:04
1014
原创 OC-对象在内存中的存储
1.内存中的五大区域栈:存储局部变量 堆:允许程序员手动在堆区申请指定的连续的字节数的空间来使用 BSS段:存储未初始化的全局变量,静态变量 数据段(常量区):存储已经初始化的全局变量,静态变量,常量数据 代码段:存储程序的代码2.类加载当类第一次被访问的时候,会将类存储在代码段中,这个过程叫做类加载.一旦类被加载到代码区,直到程序结束的时候才会被回收1).当我们
2017-06-14 17:18:53
935
原创 OC-对象创建、属性的调用
01.同1类的多个对象之间毫无关系1).创建Dog类#import <Foundation/Foundation.h>@interface HMDog : NSObject{ @public NSString *_name; NSString *_color; int _age;}-(void)shout;-(void)protectHome;@end@implemen
2017-06-14 17:12:39
587
原创 OC中的基础知识点、类和类方法的创建、调用 以及对象
1.#import#include 增强版 可以防止被重复包含2.框架引进头文件3.自动释放池@autoreleasepool {}4.NSLog( )函数1).printf增强版2).NSLog(@“字符串”,变量列表);3).区别 a.输出的信息,还有非指定信息 输出的时间 + 程序的名字 + 程序的进程ID (PID) + 线程ID b.输出完信息之后会自动换
2017-06-14 17:05:39
854
原创 Objective-C中的类目,延展,协议
01).分类Categroy又称扩展类,在不改变原来的类内容的基础上,为类增加一些方法。01>.分类的使用注意(1)分类只能增加方法(包括类方法和对象方法),不能增加成员变量(2)在分类方法的实现中可以访问原来类中的成员变量;(3)分类中可以重新实现原来类中的方法,但是会覆盖掉原来的方法,导致原来的方法无法再使用(警告);(4)方法调用的优先级:分类->原来的类->父类,若包含有多个分类,则最后参与
2017-06-14 16:40:30
293
原创 OC 实例变量(instance var)与属性(@property)的关系
01).@property01>.自动生成getter 和 setter 方法的声明自动给当前类生成一个私有属性(在@implementation中),这个属性名称自带下划线 自动生成getter 和 setter 方法的实现02>.语法格式 @property 数据类型 去掉下划线的属性名称; 批量生成 @property 数据类型 名称,名称,….; 注:类型必须相
2017-06-14 15:47:14
519
YYKit-master.zip
2019-05-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人