自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

西西里的仔仔的专栏

IOS新手学习记

  • 博客(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 588

原创 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 2026

原创 中序算术式转为后序算术式

-(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 342

原创 NSTimer计时器后台运行的解决方法

思路:切换至后台计时器暂停,记录下当前时间,切换回前台计时器回复,计算中间时间差[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationEnterBackground) name:UIApplicationDidEnterBackgroundNotification objec

2016-08-10 17:25:18 3039

原创 NSProxy的使用

用的案例代码是网上其他资源的,主要是NSProxy的子类和场景类中的一点说明抄书的一段:NSProxy的作用是为其他对象的替身对象定义一个API。发给代理对象的消息会被转发给实体对象,或者让代理加载实体对象或吧代理自身变成实体对象There are two instance methods that are essential to make thewhole proxy

2016-07-28 14:55:51 464

原创 在Github上传项目

github上创建一个新的repository创建好后就进入了项目页面然后点击点击右侧按钮复制url在桌面创建一个文件夹cd 到该文件夹git clone 刚才复制的地址cd进入git添加的那个项目文件中然后在该项目文件中拖入你想要添加的文件这时候可以查询下git status

2016-06-28 11:14:03 244

原创 AsyncSocket实现TCP连接

有了之前UDP连接的成功我以为TCP连接就直接照搬就好了,结果在接收报文的地方被坑了TCP整体比UDP复杂点点点,毕竟人家的报文长度有20个字节。总体思路就是1.先检查有没有连接,如果没有创建,有的话直接readData2.新创立的连接调用连接成功的delegate方法,在其中调用readdata(就是这里被坑了,死都读不到数据)3.然后调用received data 的del

2015-11-06 15:15:12 1821

原创 iOS实现UPD广播(AsyncSocket)

之前试了OC自带的socket库进行实现,但是在向服务器发送消息包时候block了,还是用AsyncSocket好了。1.创建socket,修改配置(允许广播形式)2.绑定本地IP3.向服务器发送包4.接收包1.创建socket:一个客户端只进行一条socket的连接,所以这里使用了单例+(Singleton *)sharedInstance{ static

2015-11-04 11:06:24 1465

原创 解决App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure。

在info.plist中加入

2015-09-21 16:14:09 303

原创 iOS8 CLLocationManager 的改变导致 locationManager didUpdateLocations不能被调用的解决办法

除了plist文件中的改变,最重要的一点就是调用startMonitoringSignificantLocationChanges

2015-08-24 13:02:27 2192

原创 安装cocoapods以及运行

建立Podfile(配置文件) 接上 输入 vim Podfile 键盘输入i 进入编辑模式 输入platform :ios, '9.3' pod 'MBProgressHUD', '~> 0.8' 键盘按esc 输入: 然后在冒号后输入wq

2015-08-20 12:25:28 370

原创 处理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 519

原创 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 3746

原创 消息机制工作原理(isa指针)

相关的一个问题

2015-08-03 11:06:38 553

原创 srandom((unsigned)time(NULL))

使用时间戳产生不同的随机数

2015-08-03 10:23:20 851

原创 关联引用(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 303

原创 Core Animations一些常用常忘的吧

CAKeyframeAnimation设置path后想在delegate里取最后的值,好像不太容易,values和path貌似二者只能取其一,就换valuesvalues是NSArray类型,值是NSValue或者NSNumber,看设置时候是什么NSValue转其他值:比如CGPoint: NSValue *value = (NSValue *)array[array

2015-07-23 13:32:45 394

原创 UIAlertView自带password输入框

UIAlertView *alertView = [[UIAlertViewalloc]initWithTitle:@"Password"                                                      message:@"Please enter your password"                               

2015-07-23 00:13:02 451

原创 Navigation Bar色设置

self.navigationController.navigationBar.shadowImage = [[UIImagealloc] init];[self.navigationController.navigationBarsetBackgroundImage:[[UIImagealloc] init] forBarMetrics:UIBarMetricsDef

2015-07-22 22:42:17 332

原创 UIFont设置

+ (UIFont *)preferredFontForTextStyle:(NSString *)stylestyle:UIKIT_EXTERNNSString *const UIFontTextStyleHeadlineNS_AVAILABLE_IOS(7_0);UIKIT_EXTERNNSString *const UIFontTextStyleBody

2015-07-22 16:49:02 385

原创 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 454

原创 自己写的类似UITextView的类,实现UIKeyInput协议

这是别人的一个app作品,我仿着做的,之前对keyboard用的不多,一般都是UITextField用到的,从来没想过可以写个类似功能的看到这个画面的时候,我在想这是有个隐藏的textField把键盘召唤出来的么,哈哈,也不是没试,写起来挺恶心的,然后才知道可以写个view实现UIKeyInput协议召唤键盘需要becomeFirstResponser,UIView中canBeco

2015-07-17 15:07:59 1159

原创 Bonjour聊天室的总体思路

吐槽一句这里文章审核的速度太慢了,本来想加在上一篇的

2015-07-04 19:25:06 347

原创 Bonjour写的聊天室的思路(二)——UI和logic

这是第一个页面创建新room的按钮1.strop server browser2.初始化LocalRoom3.将LocalRoom(chatRoom)传值给下一个页面chatRoomViewController4.调用chatRoomViewController的 activate①实现chatRoom代理(以下在LocalRoom中实现的)②调用chatRoom

2015-07-04 10:22:08 560

原创 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 538

翻译 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 610

翻译 iOS and OS X Network Programming Cookbook |Creating an echo Client(Bonjour)

之前用到CFSocket和BonjourPublishService创建并发布服务器端,这里将会用到CFSocketClient,BonjourBrowserService和Bonjour

2015-07-01 21:20:50 523

翻译 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 508

翻译 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 475

翻译 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 651

翻译 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 609

翻译 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 411

翻译 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 439

原创 Socket Client端的思路

首先用CFStreamCreamPairWithSocketToHost获取CFReadStreamRef和CFWriteStreamCFReadStreamRef readStream;CFWriteStreamRef writeStream;CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)@"localhost", 80, &

2015-06-30 12:34:45 695

原创 UIImageView传值与生命周期的关系

今天在写一个demo的过程中被这个问题卡壳了,第一个页面中获得UIImage,传值给第二个页面,第二个页面的imageView是在storyboard中手动布局好的。-(void)setImage:(UIImage *)image{ self.imageView.image = image}imageView并未接受到image,但是image输出是有值的,然后就做了些无谓的

2015-06-28 14:24:56 348

原创 Navigation上的BarButton添加动画效果

这个秘诀就是UIBarButtonItem *backBarButton = [[UIBarButtonItem alloc] initWithCustomView:];然后在view上添加动画效果就好了。这里view上要添加TapGesture在viewController中的设置self.navigationController.navigationBar.clip

2015-06-25 22:10:41 685

原创 Notification与Delegate实现通讯沙拉实例

这个例子是我在AppStore上下的一个沙拉的app模仿做的,现在还没做文件管理。黄星星就是收藏的意思,在navigationBar上面有个按钮查看收藏夹内容的,黄星星是做了个button,开始想做view,但是没法定位view的位置,我在UITableViewCell没能实现,主要尝试是hittest,layer和view的方式都试过了。然后再说这个button,在改变收藏状态后是用

2015-06-24 22:40:42 394

原创 iOS开发中的一些tips

6/24/151.去除底下空白行:self.tableView.tableFooterView = [[UIView alloc]init];还可以把分割线去了看起来效果差不多,self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone2.今天遇到的坑,建立tableViewCell子类后对调用layoutSubvie

2015-06-24 09:55:59 381

翻译 CAShapeLayer中fillRule所遵循的Winding Rules

NSNonZeroWindingRule:判断一个点是否在图形内,从该点作任意方向的一条射线,然后检测射线与图形路径的交点情况,曲线从左向右通过射线记为-1,曲线从右向左通过射线记为+1,如果总数为0,表示该点在曲线外,否则该点在曲线内。NSEvenOddWindingRule:判断一个点是否在图形内,从该点作任意方向的一条射线,然后检测射线与图形路径的的交点情况,交点个数为奇数,表示该点

2015-04-18 22:59:42 580

The Shellcoder's Handbook 2nd Edition

《The Shellcoder's Handbook 2nd Edition》Shellcode学习必备

2018-09-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除