1、打印CG开头的数据类型,如CGRect,CGSize等方法 1.1 打印CGRect : NSLog(@"%@", NSStringFromCGRect(someCGRect)); 1.2 打印 CGSize : NSLog(@"%@",NSStringFromCGSize(someCG Size )); 1.3 其他的是: NSStringFromCGPoint、NSStringFromCGAffineTransform、NSStringFromU
最近开始用思维导图工具,梳理一些知识点,但是长篇大论还是只能交给markdown。 1.UIView的绘制流程 UIView的绘制流程上图的流程基本和https://blog.csdn.net/jingqiu880905/article/details/51851534/这里所说的一致。 我们发现drawRect:调用时机是比较靠后的,而且它会决定绘制
使用步骤: 1> 将AFNetWorking文件夹导入项目 2> 添加 MobileCoreServices.framework、SystemConfiguration.framework 类库 3> 在需要使用的地方导入头文件 "AFNetworking.h" 4> 在Prefix.pch文件中import(否则会出现警告) #import<SystemConfigurati
在开发过程中,经常需要使用NSLog来进行调试,但是NSLog是非常影响性能的,所以我们应该在发布应用时屏蔽掉NSLog,但是如果通过手工的去一行一行的改得话,未免太枯燥与费时了,庆幸的是,我们可以通过条件预编译来屏蔽NSLog。示例代码如下: //在项目中需要打印的地方使用WKLog /** *
UIDevice类提供了一些API,使你能够跟踪设备的特征,包括电池的状态和接近度传感器。他们二者都以通知的形式提供更新,可以订阅他们,以便在有重要的更新时通知你的应用程序。 1》启动和禁用接近度传感器 接近度在此时是一个特定于iPhone的特性。iPod Touch和iPad没有提供接
1 #import "AppDelegate.h" 2 #import "XGPush.h" 3 #import "XGSetting.h" 4 5 #define _IPHONE80_ 80000 6 7 @implementation AppDelegate 8 - (void)registerPushForIOS8{ 9 #if __IPHONE_OS_VERSION_MAX_ALLOWED >
问题描述: 看下面代码,猜测一下运行结果? NSInteger m1 = 100; NSInteger m2 = -100; NSUInteger n = 2; NSLog(@"m1 / n = %ld", m1 / n); NSLog(@"m2 / n = %ld", m2 / n); 问题分析: 这个问题看似很简单,但是却存在一个坑,稍不注意就会掉进去。 上
@interface ViewController ()@property (weak, nonatomic) IBOutlet lwRedView *redView;@property (weak, nonatomic) IBOutlet UIButton *lwbtn;@property (weak, nonatomic) IBOutlet UITextField *phoneTF;@property (weak, nonatomic) IBOutlet UITextField *pwTF;@prop
<span style="font-size:18px;">//首先,获取数据库的路径,(假设不存在,就是我们想要存储的路径),不用操心每次都创建数据库会反复,不会的,假设没有则创建,有了就不会再反复创建。 //接下来。我们要制表,首先我们先查看我们的表是否已经存在,方法在以下代码中;假设存在则跳过。不存在则创建
-(void)_test2{ ///////////////////////////////////////Command 命令的用法 注意使用command.executionSignals去订阅时 一定要先订阅再excute RACCommand * command = [[RACCommand alloc] initWithSignalBlock:^RACSignal * _Nonnull(id _Nullable input) {
** 使用Coredata 工程中的DataModel创建:系统创建、手动创建** ** 使用Coredata需要要导入<CoreData/CoreData.h> ** 1、系统创建(系统创建生成NSPersistentContainer, iOS10+,iPhoneX;iOS8+ 使用手动创建Coredata) 1.1创建工程 1.2 创建实体对象
决策结构要求程序员指定一个或多个要由程序评估或测试的条件,以及在条件被确定为真时要执行的一个或多个语句,以及可选的,如果条件要执行的其他语句 被认定是假的。 以下是大多数编程语言中的典型决策结构的一般形式 - Objective-C编程语言将任何非零和非null假定为true,如果它为零或nu
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { // [self getYahooData];//同步请求,会阻塞主线程 // [self getYahooData_GCD];//使用GCD把同步请求放在子线程中,也不会阻塞主线程 [self getYahooData_Async];//直
网络通讯三要素 TCP & UDP 三次握手 断开连接的四次握手 Socket套接字 了解了上面的概念,我们开始演练一下Socket #import "ViewController.h"#import <sys/socket.h>#import <netinet/in.h>#import <arpa/inet.h>@interface ViewController ()@end@implementat
项目中难免会与时间打交道,故此次围绕时间展开做了一些日常使用的小结;如下 code 中也是围绕一些日常开发中较为常用的点展开小的方法封装. 具体方法的使用如下: // 2019-02-21 17:30:45 1550741445 /** 当前时间戳*/ NSString *timeInterval = [NSString str
#import <Foundation/Foundation.h> #import "Person.h" int main(int argc, const char * argv[]) { @autoreleasepool { //字典用大括号赋值 //字典是无序的 系统会自动对其key排序 //字典的创建 NSDictionary *dic3 =@ { @"ke
oc的静态函数与类函数不同; 1、静态函数与c++中表现一致,只在模块内部可见; 2、静态函数内部没有self变量; 3、静态函数不参与动态派发;没有在函数列表里;是静态绑定的; @implementation PXGooooogo + (BOOL) testEgo{ NSLog(@"eeeeee"); return true; } static B