- iOS Bug调试
weixin_30426065
最近看了一篇文章,是关于bug调试的可通过调用堆栈,调试区,断点调试,po,NSAssert(断言)(http://blog.csdn.net/univcore/article/details/16859263),僵尸对象参考:https://www.raywenderlich.com/10209/my-app-crashed-now-what-part-1https://www.raywende
- iOS断言
Smallwolf_JS
NSAssert()是一个宏,用于开发阶段调试程序中的Bug,通过为NSAssert()传递条件表达式来断定是否属于Bug,满足条件返回真值,程序继续运行,如果返回假值,则抛出异常,并且可以自定义异常描述。NSAssert()是这样定义的:#defineNSAssert(condition,desc)condition是条件表达式,值为YES或NO;desc为异常描述,通常为NSString。当c
- use of undeclared identifier '__FILE_NAME__
幻梦者8805
macOSwebrtc编译的时候报错useofundeclaredidentifier'FILE_NAME公司项目近期需要编译mac版本webrtc.framework,刚开始编译就遇到了useofundeclaredidentifier'FILE_NAME,这个错误,而且错误是发生在系统库NSAssert里面,猜想是不是系统库路径出的问题,检查发现系统路径正常,查半天资料,发现是webrtc编译
- 关于iOS的异常类型(EXC_BAD_ACCESS)学习
双鱼子曰1987
一、概述“异常”这个词在“崩溃日志”语境下更多与“Mach异常”(以EXC_为前缀)和UNIX信号(如:SIGSEGV,SIGBUS等)相关。1、UNIX信号,详见Unix_signal常见的有:SIGSEGV,访问无效的内存地址。地址存在,但是应用程序无法访问。SIGABRT,程序崩溃。由C函数abort()初始化。通常意味着系统检测到某些事务出错,例如assert()或者NSAssert()校
- NSAssert断言
买买提不撸串
就是判断条件是否满足,满足的话就往下执行,不满足就抛出信息,然后崩溃,用于开发调试,上线的话需关闭。NSAssert使用:NSParameterAssert:一般用来判断空关闭
- iOS中断言
frankisbaby
NSAssert为条件断言,不满住条件会打印后边的描述信息;NSAssert(,)NSParameterAssert();NSParameterAssert也为条件断言,不满足打印系统的描述;
- iOS 对参数为空的判断--NSAssert
绝不洗澡的小滑滑
对传入参数的保护或者说是否为空的判断,尽量不要使用if(!obj),而使用NSAssert断言来处理。NSAssert是系统定义的宏。NSAssert(myName!=nil,@"myName参数为空");如果条件判断为真,则程序继续执行;如果判断条件为假,则抛出异常,异常内容为后面定义的字符串。
- NSAssert 的简单使用
小老弟码代码
苹果在foundation.framework中定义了这么一个宏:#defineNSAssert(condition,desc,...)condition书面意思为:状态、状况在这里代表的是一个条件判断,值为YES或者NO;desc为异常描述,通常为NSString。当condition为YES时程序继续运行,为NO的时候,则抛出异常信息。NSAssert可以出现在程序的任何一个位置。注:在con
- 小记:XCode 9 NSAssert 不打印Msg日志提示信息
熊猫人和熊猫君
小记录NSAssert(NO,@"test");如果在Xcode环境变量里面配置了OS_ACTIVITY_MODE且其value为disable,将导致NSAssert的描述信息不在Xcode控制台输出。image.png删除OS_ACTIVITY_MODEimage.png删除OS_ACTIVITY_MODE后image.png
- Objective-C 中Socket常用转换机制(NSData,NSString,int,Uint8,Uint16,Uint32,byte[],int8_t,int16_t,int32_t,f...
hanyongwei
int类型转16进制hexstring//int转16进制-(NSString*)hexFromInt:(NSInteger)val{return[NSStringstringWithFormat:@"%X",val];}2.16进制转换为NSData+(NSData*)dataFromHexString:(NSString*)hexString{NSAssert((hexString.lengt
- NSAssert断言
学生张奎
今天运行代码遇到了NSAssert断言,这里做一个学习记录。形式#defineNSAssert(condition,desc,...)官方文档链接作用在condition为false的时候产生断言。示例代码@interfaceMyObject:NSObject-(void)show;@end@implementationMyObject-(void)show{NSAssert(NO,@"SomeE
- NSAssert 断言
沉默着欢喜丶
NSAssert是c语言的一个宏定义。看一下具体定义:#defineNSAssert(condition,desc,...)\do{\__PRAGMA_PUSH_NO_EXTRA_ARG_WARNINGS\if(__builtin_expect(!(condition),0)){\NSString*__assert_file__=[NSStringstringWithUTF8String:__FI
- runtime让某对象执行特定多参数方法
Dawn_wdf
+(id)dw_target:(id)targetperformSel:(SEL)selarguments:(id)firstObj,...NS_REQUIRES_NIL_TERMINATION{//获取信号量NSMethodSignature*signature=[targetmethodSignatureForSelector:sel];NSAssert(signature,@"method:
- iOS_移除 NSLog 和 NSAssert
青葱烈马
我们使用NSLog和NSAssert的目的是为了调试,并在调试阶段输出一些信息,但是在调试结束、应用发布后,如果还使用NSLog和NSAssert输出信息,那样会影响性能.事实上,这个工作量还是比较大的,而且刚刚移除掉时,你会发现又要进行调试,然后再把NSLog和NSAssert加入到程序代码中,很麻烦!因此,需要设定两套不同的编译参数环境,我们把这个环境称为Scheme.Xcode中的Schem
- iOS开发NSAssert使用
ios_stand
NSAssert()只是一个宏,用于开发阶段调试程序中的Bug,通过为NSAssert()传递条件表达式来判定是否属于Bug,满足条件返回真值,程序继续运行,如果返回假值,则抛出异常,并且可以自定义异常描述。NSAssert()定义:NSAssert(,)//condition是条件表达式,值为YES或NO;desc为异常描述,通常为NSString。//当condition为YES时程序继续运行
- 使用断言NSAssert()和NSParameterAssert调试程序错误
antjumper
iOS学习exceptionios
NSAssert()只是一个宏,用于开发阶段调试程序中的Bug,通过为NSAssert()传递条件表达式来断定是否属于Bug,满足条件返回真值,程序继续运行,如果返回假值,则抛出异常,并切可以自定义异常描述。NSAssert()是这样定义的:#defineNSAssert(condition,desc)condition是条件表达式,值为YES或NO;desc为异常描述,通常为NSString。当
- assert和NSAssert
Alfred_小乐
assert断言,assert(表达式),表达式为真,什么也不做,表达式为假则crash。assert在OC里面是一个宏,用法一样,只有在Debug状态下有作用。NSAssert和assert一样也是一个宏,用法也差不多,只是多了在让程序crash时可以报自定义的log异常,这个也是只在Debug状态下有用在app中加入一行代码NSAssert(0,@"哈哈哈哈");Debug状态下app崩溃**
- 2016笔记——断言
满庭花醉三千客
程序崩溃不可怕,可怕的是程序没有Crash而是运行在一个不稳定的状态下,如果程序还操作了数据,那么带来的危害是灾难性的。所以,我们应该让程序Crash掉,尽量制造Crash的BUG,减少没有Crash的BUG,如果有可能,将没有Crash掉的BUG转换成Crash的BUG以便查找。NSAssert,他的名字叫做“断言”。断言是指在开发期间使用的,让程序在运行时进行自检的代码。断言为真,则表明程序运
- 【转】断言(NSAssert)的使用
棒棒德
NSAssert()是一个宏,用于开发阶段调试程序中的Bug,通过为NSAssert()传递条件表达式来断定是否属于Bug,满足条件返回真值,程序继续运行,如果返回假值,则抛出异常,并且可以自定义异常描述。NSAssert()是这样定义的:#defineNSAssert(condition,desc)condition是条件表达式,值为YES或NO;desc为异常描述,通常为NSString。当c
- IOS项目打包除去NSLog和NSAssert处理
Eidesen
nslognsassert编译打包
使用过ios开发的网友都知道,我们使用NSLog和NSAssert的目的是为了调试,并在调试阶段输出一些信息,但是在调试结束,应用发布后,如果还使用NSLog和NSAssert输出信息,那样会影响性能。事实上,这个工作量比较大,而且刚刚移除掉时,你会发现又要进行调试,然后再把NSLog和NSAssert加入到程序中,很麻烦!具体操作时,我们需要设定两套不同的编译参数环境,我们把这个环境称为sche
- NSAssert
iteye_2584
ios征程
YoucanuseNSAssert()todebugyourcode,justlikeNSLog().i.e.NSAssert(X<=0,@"xmustlargethanzero!");Ifx<=0returnNO,itwillthrowexception.Youcanseeamessage"xmustlargethanzero!",andalsootherrelateddetails.调试coc
- iOS使用MBProgressHUD出现的坑
超人_22
今天在使用MBProgressHUD时崩了,提示如下图显示错误提示MBMainThreadAssert();点击看了下说明如下:#defineMBMainThreadAssert()NSAssert([NSThreadisMainThread],@"MBProgressHUDneedstobeaccessedonthemainthread.");提示必须在主线程中访问。解决办法:dispatch_
- HQ移动20170317期周报
君赏
1.NSAssert()和NSCAssert()的使用NSAssert()用于OC语法的断言NSCAssert()用于C语言语法的断言2.Swift3.0使用NSNotification.nameletkOpenXcodePathNotification="kOpenXcodePathNotification"NotificationCenter.default.post(name:NSNotif
- Xcode 断言的使用(一)
ZYiDa
昨天听别人讲到断言,我感到很好奇,今天忙完别的事情后就了解和尝试使用一下,以后会陆续把单元测试以及断言相关的内容贴出来。格式和说明:1、格式:NSAssert(isRealName==YES,@"不是真实的名字!");2、说明,如果满足isRealName==YES这个条件时,能正常运行通过;如果不满足这个条件,程序则会运行崩溃,并输出后面的提示。3、断言只在Debug模式下使用,Release模
- ARC下重写setter和getter方法
碧玉小瑕
@synthesizeclearColor=_clearColor;-(void)setClearColor:(GLKVector4)clearColor{_clearColor=clearColor;NSAssert(self==[[selfclass]currentContext],@"Receivingcontextrequiredtobecurrentcontext");glClearCo
- iOS开发之断言
brilliance_Liu
小伙伴们在开发过程,多多少少会接触到各色各样的第三方开源代码。而在这些代码中,我们时长会看见NSAssert,也就是俗称:断言。Foundation中定义了两组断言相关的宏,分别是:NSAssert/NSCAssertNSParameterAssert/NSCParameterAssert```**这两组宏主要在功能和语义上有所差别,这些区别主要有以下两点:**1.一个不同是介于C和Objecti
- 【Objective-C】简单使用断言和异常
刘大帅
学习文章Objective-C-异常处理(Exception)简单用法//断言//NSAssert括号里是可变变量的宏,也可以像下面那样用指定参数数量的断言,如NSAssert1,NSAssert2NSAssert(1>0,@"HaHa");NSAssert(1>0,@"%@",@"LiuDaShuai");NSAssert1(1>0,@"%@",@"LiuDaShuai");NSAssert(1
- 13、自定义NSOperation
超大神
OC多线程
//自定义操作//1创建一个类继承自NSOperation//2重写main方法,自动释放池//3定义属性接收参数,类方法快速初始化自定义操作//4取消操作(取消正在执行的操作)//5断言NSAssert@interfaceHMDownloaderOperation:NSOperation//要下载图片的地址@property(nonatomic,copy)NSString*urlString;/
- 断言NSAssert
Johnny_Chang
开发ios程序时调试的好帮手---NSAssert()函数。而且和NSLog()函数一样简单易用,代码如下:NSAssert(x!=0,@"xmustnotbezero");在表达式“x!=0”不成立时,程序就会抛出异常,并显示自定义的消息"xmustnotbezero",并同时显示出错的文件、代码和调用函数等信息,是一个程序追踪的很好手段。假设x!=0,不满足要求就提示reason-xmustn
- iOS中的断言
细雨听风
NSAssert这个应该都比较熟悉,他的名字叫做“断言”。断言(assertion)是指在开发期间使用的、让程序在运行时进行自检的代码(通常是一个子程序或宏)。断言为真,则表明程序运行正常,而断言为假,则意味着它已经在代码中发现了意料之外的错误。断言对于大型的复杂程序或可靠性要求极高的程序来说尤其有用。而当断言为假的时候,几乎所有的系统的处理策略都是,让程序死掉,即Crash掉。方便你知道,程序出
- jdk tomcat 环境变量配置
Array_06
javajdktomcat
Win7 下如何配置java环境变量
1。准备jdk包,win7系统,tomcat安装包(均上网下载即可)
2。进行对jdk的安装,尽量为默认路径(但要记住啊!!以防以后配置用。。。)
3。分别配置高级环境变量。
电脑-->右击属性-->高级环境变量-->环境变量。
分别配置 :
path
&nbs
- Spring调SDK包报java.lang.NoSuchFieldError错误
bijian1013
javaspring
在工作中调另一个系统的SDK包,出现如下java.lang.NoSuchFieldError错误。
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.l
- LeetCode[位运算] - #136 数组中的单一数
Cwind
java题解位运算LeetCodeAlgorithm
原题链接:#136 Single Number
要求:
给定一个整型数组,其中除了一个元素之外,每个元素都出现两次。找出这个元素
注意:算法的时间复杂度应为O(n),最好不使用额外的内存空间
难度:中等
分析:
题目限定了线性的时间复杂度,同时不使用额外的空间,即要求只遍历数组一遍得出结果。由于异或运算 n XOR n = 0, n XOR 0 = n,故将数组中的每个元素进
- qq登陆界面开发
15700786134
qq
今天我们来开发一个qq登陆界面,首先写一个界面程序,一个界面首先是一个Frame对象,即是一个窗体。然后在这个窗体上放置其他组件。代码如下:
public class First { public void initul(){ jf=ne
- Linux的程序包管理器RPM
被触发
linux
在早期我们使用源代码的方式来安装软件时,都需要先把源程序代码编译成可执行的二进制安装程序,然后进行安装。这就意味着每次安装软件都需要经过预处理-->编译-->汇编-->链接-->生成安装文件--> 安装,这个复杂而艰辛的过程。为简化安装步骤,便于广大用户的安装部署程序,程序提供商就在特定的系统上面编译好相关程序的安装文件并进行打包,提供给大家下载,我们只需要根据自己的
- socket通信遇到EOFException
肆无忌惮_
EOFException
java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2281)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:
- 基于spring的web项目定时操作
知了ing
javaWeb
废话不多说,直接上代码,很简单 配置一下项目启动就行
1,web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="h
- 树形结构的数据库表Schema设计
矮蛋蛋
schema
原文地址:
http://blog.csdn.net/MONKEY_D_MENG/article/details/6647488
程序设计过程中,我们常常用树形结构来表征某些数据的关联关系,如企业上下级部门、栏目结构、商品分类等等,通常而言,这些树状结构需要借助于数据库完成持久化。然而目前的各种基于关系的数据库,都是以二维表的形式记录存储数据信息,
- maven将jar包和源码一起打包到本地仓库
alleni123
maven
http://stackoverflow.com/questions/4031987/how-to-upload-sources-to-local-maven-repository
<project>
...
<build>
<plugins>
<plugin>
<groupI
- java IO操作 与 File 获取文件或文件夹的大小,可读,等属性!!!
百合不是茶
类 File
File是指文件和目录路径名的抽象表示形式。
1,何为文件:
标准文件(txt doc mp3...)
目录文件(文件夹)
虚拟内存文件
2,File类中有可以创建文件的 createNewFile()方法,在创建新文件的时候需要try{} catch(){}因为可能会抛出异常;也有可以判断文件是否是一个标准文件的方法isFile();这些防抖都
- Spring注入有继承关系的类(2)
bijian1013
javaspring
被注入类的父类有相应的属性,Spring可以直接注入相应的属性,如下所例:1.AClass类
package com.bijian.spring.test4;
public class AClass {
private String a;
private String b;
public String getA() {
retu
- 30岁转型期你能否成为成功人士
bijian1013
成长励志
很多人由于年轻时走了弯路,到了30岁一事无成,这样的例子大有人在。但同样也有一些人,整个职业生涯都发展得很优秀,到了30岁已经成为职场的精英阶层。由于做猎头的原因,我们接触很多30岁左右的经理人,发现他们在职业发展道路上往往有很多致命的问题。在30岁之前,他们的职业生涯表现很优秀,但从30岁到40岁这一段,很多人
- 【Velocity四】Velocity与Java互操作
bit1129
velocity
Velocity出现的目的用于简化基于MVC的web应用开发,用于替代JSP标签技术,那么Velocity如何访问Java代码.本篇继续以Velocity三http://bit1129.iteye.com/blog/2106142中的例子为基础,
POJO
package com.tom.servlets;
public
- 【Hive十一】Hive数据倾斜优化
bit1129
hive
什么是Hive数据倾斜问题
操作:join,group by,count distinct
现象:任务进度长时间维持在99%(或100%),查看任务监控页面,发现只有少量(1个或几个)reduce子任务未完成;查看未完成的子任务,可以看到本地读写数据量积累非常大,通常超过10GB可以认定为发生数据倾斜。
原因:key分布不均匀
倾斜度衡量:平均记录数超过50w且
- 在nginx中集成lua脚本:添加自定义Http头,封IP等
ronin47
nginx lua csrf
Lua是一个可以嵌入到Nginx配置文件中的动态脚本语言,从而可以在Nginx请求处理的任何阶段执行各种Lua代码。刚开始我们只是用Lua 把请求路由到后端服务器,但是它对我们架构的作用超出了我们的预期。下面就讲讲我们所做的工作。 强制搜索引擎只索引mixlr.com
Google把子域名当作完全独立的网站,我们不希望爬虫抓取子域名的页面,降低我们的Page rank。
location /{
- java-3.求子数组的最大和
bylijinnan
java
package beautyOfCoding;
public class MaxSubArraySum {
/**
* 3.求子数组的最大和
题目描述:
输入一个整形数组,数组里有正数也有负数。
数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。
求所有子数组的和的最大值。要求时间复杂度为O(n)。
例如输入的数组为1, -2, 3, 10, -4,
- Netty源码学习-FileRegion
bylijinnan
javanetty
今天看org.jboss.netty.example.http.file.HttpStaticFileServerHandler.java
可以直接往channel里面写入一个FileRegion对象,而不需要相应的encoder:
//pipeline(没有诸如“FileRegionEncoder”的handler):
public ChannelPipeline ge
- 使用ZeroClipboard解决跨浏览器复制到剪贴板的问题
cngolon
跨浏览器复制到粘贴板Zero Clipboard
Zero Clipboard的实现原理
Zero Clipboard 利用透明的Flash让其漂浮在复制按钮之上,这样其实点击的不是按钮而是 Flash ,这样将需要的内容传入Flash,再通过Flash的复制功能把传入的内容复制到剪贴板。
Zero Clipboard的安装方法
首先需要下载 Zero Clipboard的压缩包,解压后把文件夹中两个文件:ZeroClipboard.js
- 单例模式
cuishikuan
单例模式
第一种(懒汉,线程不安全):
public class Singleton { 2 private static Singleton instance; 3 pri
- spring+websocket的使用
dalan_123
一、spring配置文件
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.or
- 细节问题:ZEROFILL的用法范围。
dcj3sjt126com
mysql
1、zerofill把月份中的一位数字比如1,2,3等加前导0
mysql> CREATE TABLE t1 (year YEAR(4), month INT(2) UNSIGNED ZEROFILL, -> day
- Android开发10——Activity的跳转与传值
dcj3sjt126com
Android开发
Activity跳转与传值,主要是通过Intent类,Intent的作用是激活组件和附带数据。
一、Activity跳转
方法一Intent intent = new Intent(A.this, B.class); startActivity(intent)
方法二Intent intent = new Intent();intent.setCla
- jdbc 得到表结构、主键
eksliang
jdbc 得到表结构、主键
转自博客:http://blog.csdn.net/ocean1010/article/details/7266042
假设有个con DatabaseMetaData dbmd = con.getMetaData(); rs = dbmd.getColumns(con.getCatalog(), schema, tableName, null); rs.getSt
- Android 应用程序开关GPS
gqdy365
android
要在应用程序中操作GPS开关需要权限:
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
但在配置文件中添加此权限之后会报错,无法再eclipse里面正常编译,怎么办?
1、方法一:将项目放到Android源码中编译;
2、方法二:网上有人说cl
- Windows上调试MapReduce
zhiquanliu
mapreduce
1.下载hadoop2x-eclipse-plugin https://github.com/winghc/hadoop2x-eclipse-plugin.git 把 hadoop2.6.0-eclipse-plugin.jar 放到eclipse plugin 目录中。 2.下载 hadoop2.6_x64_.zip http://dl.iteye.com/topics/download/d2b
- 如何看待一些知名博客推广软文的行为?
justjavac
博客
本文来自我在知乎上的一个回答:http://www.zhihu.com/question/23431810/answer/24588621
互联网上的两种典型心态:
当初求种像条狗,如今撸完嫌人丑
当初搜贴像条犬,如今读完嫌人软
你为啥感觉不舒服呢?
难道非得要作者把自己的劳动成果免费给你用,你才舒服?
就如同 Google 关闭了 Gooled Reader,那是
- sql优化总结
macroli
sql
为了是自己对sql优化有更好的原则性,在这里做一下总结,个人原则如有不对请多多指教。谢谢!
要知道一个简单的sql语句执行效率,就要有查看方式,一遍更好的进行优化。
一、简单的统计语句执行时间
declare @d datetime ---定义一个datetime的变量set @d=getdate() ---获取查询语句开始前的时间select user_id
- Linux Oracle中常遇到的一些问题及命令总结
超声波
oraclelinux
1.linux更改主机名
(1)#hostname oracledb 临时修改主机名
(2) vi /etc/sysconfig/network 修改hostname
(3) vi /etc/hosts 修改IP对应的主机名
2.linux重启oracle实例及监听的各种方法
(注意操作的顺序应该是先监听,后数据库实例)
&nbs
- hive函数大全及使用示例
superlxw1234
hadoophive函数
具体说明及示例参 见附件文档。
文档目录:
目录
一、关系运算: 4
1. 等值比较: = 4
2. 不等值比较: <> 4
3. 小于比较: < 4
4. 小于等于比较: <= 4
5. 大于比较: > 5
6. 大于等于比较: >= 5
7. 空值判断: IS NULL 5
- Spring 4.2新特性-使用@Order调整配置类加载顺序
wiselyman
spring 4
4.1 @Order
Spring 4.2 利用@Order控制配置类的加载顺序
4.2 演示
两个演示bean
package com.wisely.spring4_2.order;
public class Demo1Service {
}
package com.wisely.spring4_2.order;
public class