- 博客(39)
- 资源 (1)
- 收藏
- 关注
原创 初学Django--Login
配置安装Django `pip install django` 创建一个Django项目 `django-admin startproject mysite` 创建Sqlite数据库 `cd mysite && python manage.py migrate` 运行 `python manager.py runserver` Django auth appDj...
2018-09-01 18:29:58
610
原创 CALayer的autolayout
autolayout不适用于layer这里是这么解决的:重写view的layerClass,view使用auto layout,调用view的layoutSubviews重新绘制layer的边界这里以shape layer为例子在view.m中如下实现+(Class)layerClass{ return [CAShapeLayer class];}- (instanc
2016-08-31 15:25:34
2060
原创 中序算术式转为后序算术式
-(NSString *)infixToPostfix:(NSString *)infix{ NSArray *numbers = @[@"0",@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9"]; NSDictionary *operates = @{@"*":@"1",@"/":@"1",@"+":@"0",@"-":@"0"};
2016-08-23 10:03:47
359
原创 NSTimer计时器后台运行的解决方法
思路:切换至后台计时器暂停,记录下当前时间,切换回前台计时器回复,计算中间时间差[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationEnterBackground) name:UIApplicationDidEnterBackgroundNotification objec
2016-08-10 17:25:18
3077
原创 NSProxy的使用
用的案例代码是网上其他资源的,主要是NSProxy的子类和场景类中的一点说明抄书的一段:NSProxy的作用是为其他对象的替身对象定义一个API。发给代理对象的消息会被转发给实体对象,或者让代理加载实体对象或吧代理自身变成实体对象There are two instance methods that are essential to make thewhole proxy
2016-07-28 14:55:51
475
原创 在Github上传项目
github上创建一个新的repository创建好后就进入了项目页面然后点击点击右侧按钮复制url在桌面创建一个文件夹cd 到该文件夹git clone 刚才复制的地址cd进入git添加的那个项目文件中然后在该项目文件中拖入你想要添加的文件这时候可以查询下git status
2016-06-28 11:14:03
255
原创 AsyncSocket实现TCP连接
有了之前UDP连接的成功我以为TCP连接就直接照搬就好了,结果在接收报文的地方被坑了TCP整体比UDP复杂点点点,毕竟人家的报文长度有20个字节。总体思路就是1.先检查有没有连接,如果没有创建,有的话直接readData2.新创立的连接调用连接成功的delegate方法,在其中调用readdata(就是这里被坑了,死都读不到数据)3.然后调用received data 的del
2015-11-06 15:15:12
1861
原创 iOS实现UPD广播(AsyncSocket)
之前试了OC自带的socket库进行实现,但是在向服务器发送消息包时候block了,还是用AsyncSocket好了。1.创建socket,修改配置(允许广播形式)2.绑定本地IP3.向服务器发送包4.接收包1.创建socket:一个客户端只进行一条socket的连接,所以这里使用了单例+(Singleton *)sharedInstance{ static
2015-11-04 11:06:24
1495
原创 解决App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure。
在info.plist中加入
2015-09-21 16:14:09
318
原创 iOS8 CLLocationManager 的改变导致 locationManager didUpdateLocations不能被调用的解决办法
除了plist文件中的改变,最重要的一点就是调用startMonitoringSignificantLocationChanges
2015-08-24 13:02:27
2215
原创 安装cocoapods以及运行
建立Podfile(配置文件) 接上 输入 vim Podfile 键盘输入i 进入编辑模式 输入platform :ios, '9.3' pod 'MBProgressHUD', '~> 0.8' 键盘按esc 输入: 然后在冒号后输入wq
2015-08-20 12:25:28
383
原创 处理html内容为nltk
1.下载网页:html = urlopen(url).read()2.剥离html:raw = nltk.clean_html(html)3.整理内容:raw = raw[750:3425]4.标记文本:tokens = nltk.wordpunct_tokenize(raw)5.取出其中感兴趣的:tokens = tokens[20:500]6.创建NLTK文本:te
2015-08-18 14:45:45
533
原创 Mac上安装nltk
http://www.nltk.org/install.html官网安装文件,但是直接运行sudo pip install -U nltk会报错,因为还需要安装pip和setuptools1. 安装Setuptool :http://pypi.python.org/pypi/setuptools2. 安装Pip: 终端输入 sudo easy_install pip(没成功
2015-08-14 17:37:06
3787
原创 关联引用(associative reference)
1.分类中不能添加实例变量,但可以通过关联引用添加键值数据@interface Person:NSObject@property (nonatomic, readwrite, copy) NSString *name;@end#import @interface Person(EmailAddress)@property (nonatomic, readwrite, copy)
2015-07-29 14:53:12
315
原创 Core Animations一些常用常忘的吧
CAKeyframeAnimation设置path后想在delegate里取最后的值,好像不太容易,values和path貌似二者只能取其一,就换valuesvalues是NSArray类型,值是NSValue或者NSNumber,看设置时候是什么NSValue转其他值:比如CGPoint: NSValue *value = (NSValue *)array[array
2015-07-23 13:32:45
413
原创 UIAlertView自带password输入框
UIAlertView *alertView = [[UIAlertViewalloc]initWithTitle:@"Password" message:@"Please enter your password"
2015-07-23 00:13:02
463
原创 Navigation Bar色设置
self.navigationController.navigationBar.shadowImage = [[UIImagealloc] init];[self.navigationController.navigationBarsetBackgroundImage:[[UIImagealloc] init] forBarMetrics:UIBarMetricsDef
2015-07-22 22:42:17
347
原创 UIFont设置
+ (UIFont *)preferredFontForTextStyle:(NSString *)stylestyle:UIKIT_EXTERNNSString *const UIFontTextStyleHeadlineNS_AVAILABLE_IOS(7_0);UIKIT_EXTERNNSString *const UIFontTextStyleBody
2015-07-22 16:49:02
396
原创 UIButton的一些设置
1.BUTTON的字体设置不能直接setFont[button setTinColor:][button setTitle: forState: ]button.titleLabel.font = [UIFont ...]2.button目标target[button addTarget: action: forControlEvents: ];3.targ
2015-07-21 20:17:06
462
原创 自己写的类似UITextView的类,实现UIKeyInput协议
这是别人的一个app作品,我仿着做的,之前对keyboard用的不多,一般都是UITextField用到的,从来没想过可以写个类似功能的看到这个画面的时候,我在想这是有个隐藏的textField把键盘召唤出来的么,哈哈,也不是没试,写起来挺恶心的,然后才知道可以写个view实现UIKeyInput协议召唤键盘需要becomeFirstResponser,UIView中canBeco
2015-07-17 15:07:59
1190
原创 Bonjour写的聊天室的思路(二)——UI和logic
这是第一个页面创建新room的按钮1.strop server browser2.初始化LocalRoom3.将LocalRoom(chatRoom)传值给下一个页面chatRoomViewController4.调用chatRoomViewController的 activate①实现chatRoom代理(以下在LocalRoom中实现的)②调用chatRoom
2015-07-04 10:22:08
581
原创 Bonjour写的聊天室的思路(一)——搭建服务器
搭建服务器:1.创建socket--CFSocketCreate设置accept后callback + 确保相同的socket在每次连接后得到重用(setsockopt()) 2.bind——创建sockaddr_in struct记录服务器信息,port设为0(主机自动分配)再用[NSData dataWithBytes: length: ]转换为NSData,用CFSo
2015-07-03 21:57:07
556
翻译 iOS and OS X Network Programming Cookbook |Creating an echo Client(CFSocket)
@property (nonatomic) int errorCode; @property (nonatomic) CFSocketRef sockfd; -(instancetype)initWithAddress:(NSString *)addr andPort:(int)port; -(NSString *) writtenToSocket:(CFSocketRef)so
2015-07-01 22:56:41
630
翻译 iOS and OS X Network Programming Cookbook |Creating an echo Client(Bonjour)
之前用到CFSocket和BonjourPublishService创建并发布服务器端,这里将会用到CFSocketClient,BonjourBrowserService和Bonjour
2015-07-01 21:20:50
535
翻译 iOS and OS X Network Programming Cookbook |Creating an echo server(Bonjour)(下)
在继发布寻找解析后,我们终于要连接service了这里用到了之前提到的CFSocketServer类以及BonjourPublishServer类(上篇中提到的 Publishing a Bonjour service)Publish和implement service 是两个单独的步骤,相互之前并无依存这个service是用iOS写的长酱紫,stop btn控制开启和
2015-07-01 17:31:18
524
翻译 iOS and OS X Network Programming Cookbook |Creating an echo server(Bonjour)(上)
Bonjour是一种zero configuration networking。Publishing a Bonjour serviceBonjour allows for the discovery ofnetwork devices and services on an IP network without acentralized server.
2015-07-01 10:47:30
517
翻译 iOS and OS X Network Programming Cookbook |Creating an echo server(CFSocket)
建立socket的方法与BSD socket相同(见上一篇),主要的不同在监听上,这里使用的是run loop对socket进行监听,这是CFNetwork的一个很大的优势在通过BSD socket获取到listening descriptor后,通过CFSocketCreateWithNative()创建CFSocket,然后将其加入run loop中其实大家都知道BSD基本没有实用性,
2015-06-30 23:46:03
683
翻译 iOS and OS X Network Programming Cookbook |Creating an echo server(BSD)
对于这本书没有过实战经验,学起来非常沉闷,搭建服务器应该是用得最多的了,因为我不会用其他的方法搭建在整个学编程的过程中也是这样,有点点实战就加点血,多看点这样不知道怎么用但是又不得不看不得不知道的东西就掉点血建立socket,需要调用socket(), bind()和listen()都不能出错。在书中的案例中使用的是IPV4和TCP创建的socket(IPV6换成AF_
2015-06-30 22:22:10
620
翻译 iOS and OS X Network Programming Cookbook |Performing a network address resolution
这个部分解决的是host/service name 和 sockadd structure相互转换的问题。用到的两个方法:Getaddrinfo():通过给定的host/service name返回相关信息,存储在addrinfo structure中.Getnameinfo():使用给定的sockaddr structure得到host/service name。主要步骤
2015-06-30 20:23:58
429
翻译 iOS and OS X Network Programming Cookbook |Retrieving network address information
终于决定整理下这本书了获取本机所有network的信息(interface name,IP版本,IP地址,掩码和网关,我并不知道他们干吗用的。。),首先创建一个NetworkAddressStore类来存储这些信息然后再获取所有的active network interface,并为每一个创建一个NetworkAddressStore实例,将这些存储在数组中。具体步骤(
2015-06-30 16:28:46
454
原创 Socket Client端的思路
首先用CFStreamCreamPairWithSocketToHost获取CFReadStreamRef和CFWriteStreamCFReadStreamRef readStream;CFWriteStreamRef writeStream;CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)@"localhost", 80, &
2015-06-30 12:34:45
706
原创 UIImageView传值与生命周期的关系
今天在写一个demo的过程中被这个问题卡壳了,第一个页面中获得UIImage,传值给第二个页面,第二个页面的imageView是在storyboard中手动布局好的。-(void)setImage:(UIImage *)image{ self.imageView.image = image}imageView并未接受到image,但是image输出是有值的,然后就做了些无谓的
2015-06-28 14:24:56
364
原创 Navigation上的BarButton添加动画效果
这个秘诀就是UIBarButtonItem *backBarButton = [[UIBarButtonItem alloc] initWithCustomView:];然后在view上添加动画效果就好了。这里view上要添加TapGesture在viewController中的设置self.navigationController.navigationBar.clip
2015-06-25 22:10:41
707
原创 Notification与Delegate实现通讯沙拉实例
这个例子是我在AppStore上下的一个沙拉的app模仿做的,现在还没做文件管理。黄星星就是收藏的意思,在navigationBar上面有个按钮查看收藏夹内容的,黄星星是做了个button,开始想做view,但是没法定位view的位置,我在UITableViewCell没能实现,主要尝试是hittest,layer和view的方式都试过了。然后再说这个button,在改变收藏状态后是用
2015-06-24 22:40:42
413
原创 iOS开发中的一些tips
6/24/151.去除底下空白行:self.tableView.tableFooterView = [[UIView alloc]init];还可以把分割线去了看起来效果差不多,self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone2.今天遇到的坑,建立tableViewCell子类后对调用layoutSubvie
2015-06-24 09:55:59
388
翻译 CAShapeLayer中fillRule所遵循的Winding Rules
NSNonZeroWindingRule:判断一个点是否在图形内,从该点作任意方向的一条射线,然后检测射线与图形路径的交点情况,曲线从左向右通过射线记为-1,曲线从右向左通过射线记为+1,如果总数为0,表示该点在曲线外,否则该点在曲线内。NSEvenOddWindingRule:判断一个点是否在图形内,从该点作任意方向的一条射线,然后检测射线与图形路径的的交点情况,交点个数为奇数,表示该点
2015-04-18 22:59:42
601
The Shellcoder's Handbook 2nd Edition
2018-09-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人