Objective-C
CINNS
向前跑!!!!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
iOS中内存管理基本概念
我们都知道,在使用objective-c进行iOS应用开发中,我们创建一个对象主要分为三个步骤:分配内存空间,存储对象(alloc)初始化成员变量(init)返回对象的指针地址MRC在使用MRC进行程序开发中,每当我们创建一个对象的时候,系统都会为我们一个与内存管理相关的属性:retainCount(引用计数器),该属性用来记录当前对象被引用的次数,当一个对象刚刚创建出来的时候,retain原创 2016-01-23 19:54:33 · 433 阅读 · 0 评论 -
UITextView中禁止输入表情Emoji
在UITextView代理方法中调用以下2个方法- (void)textViewDidChange:(UITextView *)textView { if (![self isValidString:textView.text]) {//如果输入框中有表情 textView.text = [self disableEmoji:textView.text];//去掉输入框的表情原创 2016-01-26 15:12:00 · 922 阅读 · 2 评论 -
runtime 系列-2获取类的所有特征(属性,实例变量,方法)
在本文中,主要是通过 runtime 去过去对象的特性,比如属性,实例变量和方法等,其中主要使用到的runtime 函数是. 1).class_copyPropertyList—获取一个类的所有属性,如果没有属性count就为0 2).property_getName—获取属性名称 3).objc_property_t—接收class_copyPropertyList返回的属性地址指针 4)原创 2016-06-14 16:12:08 · 1408 阅读 · 0 评论 -
使用NSClassFromString加载类
NSClassFromString是一个很有用的东西,尤其在进行iPhone toolchain的开发上。正常来说,id myObj = [[NSClassFromString(@"MySpecialClass") alloc] init];和id myObj = [[MySpecialClass alloc] init];是一样的。但是,如果你的程序中并不存在MySpecialClass这个类,下原创 2016-02-22 11:14:24 · 728 阅读 · 0 评论 -
xib、storyboard文件的使用
xib文件的使用1.基于UIViewController子类的xib的使用这种情况下使用很简单,对VC直接alloc,init就可以,VC会自动去找自己对应的xib文件,即使我们自定义了一些init方法,也不需要对加载他的xib做处理,系统会自动帮我们找是否有与其对应的xib文件,例如我们有这样一个初始化方法- (instancetype)initWithCustemData:(id)aData;我原创 2016-01-27 19:16:17 · 589 阅读 · 0 评论 -
set方法内存分析(2)
应用场景与上一个分析场景相同,都是人去拥有一辆车,这次的问题是我不是去重新拥有一辆车,而是我去多次set同一辆车的时候,会存在一些问题,如:#import <Foundation/Foundation.h>#import "person.h"int main(int argc, const char * argv[]) { @autoreleasepool { person原创 2016-01-24 16:36:00 · 410 阅读 · 0 评论 -
set方法内存分析(1)
这个之前的内存管理分析中,存在一些问题,比如说在多个对象中,要保证一个对象没有被系统回收之前,不能被销毁掉,就像下面的这个demo一样,person有一辆车,但是他觉得这辆车他不喜欢了,他想换一辆车,那我有2个car的对象,该怎么去处理这个内存管理的问题.#import <Foundation/Foundation.h>#import "person.h"int main(int argc, c原创 2016-01-24 16:20:36 · 800 阅读 · 0 评论 -
8.布尔类型
在swift中一种基本类型叫做Boolean,简称Bool,这种逻辑只有2种结果,一种为真,一个为假let 橘子是橙色的 = truelet 萝卜好吃 = falseif 橘子是橙色的 { print("橘子是橙色的")} else { print("橘子不是橙色的")}//在swift只有逻辑为真或者假才可以行得通let i = 2if(i == 2) { pr原创 2016-01-23 23:53:15 · 316 阅读 · 0 评论 -
多个对象的内存管理分析
与单个对象相同内存管理分析相同,同样是处理内存泄露和空指针的问题,分析背景为有一个汽车(car)的类,一个人(person)的类,人有一辆车,要保证,在人没有被系统销毁前,车不能被销毁,代码分析如下:#import <Foundation/Foundation.h>//人拥有一辆汽车#import "Person.h"int main(int argc, const char * argv[])原创 2016-01-23 22:17:41 · 425 阅读 · 0 评论 -
单个对象内存管理分析
手动内存管理,主要需要注意2个问题,一个是空指针,另外一个是内存泄露,在开发当中,该如何去避免这样的问题,且看下面分析.首先还是要遵守内存管理原则(配对原则):只要出现了 new,alloc,retain,就一定配对出现一个release,autorelease通过代码进行说明:#import <Foundation/Foundation.h>#import "Person.h"void te原创 2016-01-23 21:56:11 · 410 阅读 · 0 评论 -
runtime 系列-1.动态添加类及类属性,并为类动态添加方法
本文主要是自己网上资料,根据上面的讲解的学习笔记.文章出处在动态添加类及属性这块,主要用的的 runtime函数是 1).objc_allocateClassPair—–通过这个函数,可以创建出一个类 2).class_addIvar—–为该类添加实例变量 3).sel_registerName—–注册一个 SEL方法 4).class_addMethod—–为创建的类动态添加方法 5)原创 2016-06-08 09:23:04 · 759 阅读 · 0 评论
分享