- 博客(13)
- 收藏
- 关注
原创 [iOS]iOS在分类中声明属性的方法(不提倡使用)以及关联对象介绍
今天只是想看看能不能在分类中声明属性,发现果然可以,不过最好还是不要使用。首先在一个分类里声明一个属性,执行。没有问题然后其它类中引入这个分类,访问我生命的这个属性。报错了没有set方法,我们在.m文件中也可以看到警告原因是没有合成存取方法。下面我们实现以下合成存取方法。发现根本就没有_str,当然不能用self.st
2015-12-25 20:32:20 1400
原创 [iOS]关于__unsafe_unretained与__weak
ios5之前用__unsafe_unretained之后用__weak现在应该都用__weak了,__unsafe_unretained会造成野指针的问题,因为当他所指向的对象引用计数为0的时候,他不会变为nil。
2015-12-17 16:59:18 491
原创 [iOS]一个设置多个类似标志的好办法 iOS 类似flag
struct{unsigned int flag1 :1;unsigned int flag2 :2;} flag这样就可以用flag.flag1 = YES这样的方式来做标志位(名字可以起的规范一点)。这种方式非常节省空间,每个标志位只占用一个二进制位。
2015-12-24 17:36:47 539
转载 iOS UILabel 设置行间距
UILabel设置行间距等属性:NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc]initWithString:contentLabel.text];; NSMutableParagraphStyle *paragraphStyle =
2015-12-19 12:17:53 337
原创 [iOS]arc4random_uniform()函数
这个函数不像arc4random()产生的数那么大,arc4random_uniform(n)就可以产生1-(n-1)之间的数
2015-12-17 16:53:25 1537
转载 iOS开发的6个技巧
Xcode是iPhone和iPad开发者用来编码或者开发iOS app的IDE。Xcode有很多小巧但很有用的功能,很多时候我们可能没有注意到它们,也或者我们没有在合适的水平使用这些功能简化我们的iOS开发。比如注释标签、代码片段以及其它很多…以下是我们发现的非常有用的Xcode功能:FIXME该标签用来提醒你代码中存在稍后某个时间需要修改的部分。(编辑注:网络上有一些可以
2015-12-10 20:47:40 264
转载 iOS循环饮用的三种情况
ARC已经出来很久了,自动释放内存的确很方便,但是并非绝对安全绝对不会产生内存泄露。导致iOS对象无法按预期释放的一个无形杀手是——循环引用。循环引用可以简单理解为A引用了B,而B又引用了A,双方都同时保持对方的一个引用,导致任何时候引用计数都不为0,始终无法释放。若当前对象是一个ViewController,则在dismiss或者pop之后其dealloc无法被调用,在频繁的push或者pres
2015-12-10 13:55:40 495
转载 一篇介绍NStimer深层原理的文章
NSTimer你真的会用了吗 看到这个标题,你可能会想NSTimer不就是计时器吗,谁不会用,不就是一个能够定时的完成任务的东西吗? 我想说你知道NSTimer会retain你添加调用方法的对象吗?你知道NSTimer是要加到runloop中才会起作用吗?你知道NSTimer会并不是准确的按照你指定的时间触发的吗?你知道NSTimer就算添加到runloop了也不一定会按照你想
2015-12-09 19:52:02 2986
原创 [iOS]解决setSecureTextEntry切换之后有留白的问题
我有一个密码隐藏显示的功能,经常切换之后后边有留白,但是其实根本什么都没有,只是由于字体的不同导致光标没有转换过去。最后解决了这个问题。从暗文到明文转换的时候把字符串保存到一个临时的字符串上,然后把textField置空,text = @ “ ”。然后再把临时字符串赋值给textField即可。
2015-12-09 19:31:26 1476
转载 UDID和openUDID的区别
最近看友盟的SDK更新日志:Apple公司于2013年5月1日开始,拒绝采集UDID的App上架App Store。 为适应Apple公司的这一政策,2013年4月23日之后,友盟统计分析iOS平台的SDK只提供OpenUDID版本。 OpenUDID版本SDK使用OpenUDID为统计标准,兼有mac地址的统计。同时,我们已经上线服务器端解决方案,避免大家在将SDK从UDID版本切换到O
2015-12-07 21:13:35 1944
原创 leetcode 283 Move Zeroes C++
class Solution {public: void moveZeroes(vector& nums) { if (!nums.size()) return; int ZeroNum = 0; int indexNum = 0; for (int i=0; i if (nums[i]
2015-12-02 21:37:17 1023
原创 leetcode 237 Delete Node in a Linked List C++
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: vo
2015-12-02 20:06:05 429
原创 leetcode 104 Maximum Depth of Binary Tree C++
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * };
2015-12-02 19:40:09 491
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人