Object-C学习随笔

  1、#import与#include的区别,它们都是为了引入头文件,而不同的事#import确定一个文件只能被倒入一次,这是程序在递归包含中不会出现问题。

2、Object-C的控制台输出NSLog()与C语言printf()的输出相比:

    (1)NSLog会在打印结束自动换行

    (2)NSLog还可以输出对象%@

    (3)NSLog的格式如下表

%@ 对象 %g 浮点/双字
%d,%i 整数 %s c字符串
%u,%z 无符整形 %.*s Pascal字符串
%f 浮点/双字 %c 字符
%x,%X 十六进制整数 %C unichar
%o   八进制整数 %lld 64位长整数(long long )
%zu   size_t %llu 无符64位长整数
%p 指针 %Lf 64位双字
%e 浮点/双字(科学计算) %hhd BOOL布尔型

  3、类的定义:NSObject是所有类的父类

#import <foundation/Foundation.h>
@interface Person : NSObject{
	NSString *name;
}
//实例方法
//没有参数 没有返回值
+(void) doSomething;
//一个参数
-(void)setName:(NSString *)aName;

//两个参数
-(void)setName:(NSString *)aName andAge:(NSInteger)aAge;
//类方法
-(void)print;

@end

  4、属性申明@property:@property(nonatomic,strong) NSString *name;

    详解@property  http://www.cnblogs.com/andyque/archive/2011/08/03/2125728.html

  5、关键字/限定符

    nonatomic:不采用加锁解锁机制,运行效率比atomic高

    atomic: 原则操作,又加锁解锁机制,运行效率低,安全

    内存管理角度

    retain      修饰OC对象类型 讲对象的引用计数+1

    copy  修饰OC对象类型 重新分配一片内存空间

    strong  同retain

    weak

    assign 修饰c语言的基本数据类型int char long float double NSInteger

    readonly 只读(只提供了getter方法)

    readwrite 默认

    setter 重新设置setter的方法名

    getter 重新设置getter的方法名

时间: 2024-11-19 02:35:27

Object-C学习随笔的相关文章

JavaWeb学习随笔

Servlet学习随笔 1.HttpServlet init(ServletConfig)------Servlet生命周期中的初始方法,默认情况是服务器创建后第一次访问这个Servlet时调用,可以修改配置信息,使其在服务器一创建时就被调用; 修改配置信息的方法-----在web.xml的<servlet>下添加<load-on-startup>x<load-on-startup>,x是正整数,越小表示优先级越高 url路径的配置,完全匹配>目录匹配>(.

Mootools 学习随笔

简单的介绍下Mootools: MooTools是一个简洁,模块化,面向对象的开源JavaScript web应用框架.在处理js.css.html时候,为web开发者提供了一个跨浏览器的js解决方案. 优点: 1.灵活,模块化的框架,用户可以选择自己需要的组件. 2.MooTools符合OO的思想,使代码更强壮,有力,有效. 3.高效的组件机制,可以和flash进行完美的交互. 4.对于DOM的扩展增强,使开发者更好的利用document. 组件: 1.Core:常用函数集合,核心组件. 2.

学习随笔-qq空间访客

兴趣是最好的老师,满身疲倦的情况下兴奋着研究了俩小时,但当无所成就时热情就磨灭了,这是所谓的没韧性吧. 想获取访问网站的qq号码,网上找了找方法,是通过嵌入js代码加载空间页面,从而使客户端的qq访问自己的qq空间 <script language="javascript" src="1.js"></script> js代码为 var _$ = ["<img src=http://2739275883.qzone.qq.com

Java Object类学习笔记

看下Api文档的一些说明 public class Object Class Object is the root of the class hierarchy. Every class has Object as a superclass. All objects, including arrays, implement the methods of this class. Since: JDK1.0 从JDK1.0就已经存在的元老类,类结构的根,所有类的父类,所有类都实现了这个类的方法,包含

舵机的PWM控制学习随笔

舵机的控制信号,对于脉宽调制信号的脉宽变换,常用的一种方法是采用调制信号获取有源滤波后的直流电压,但是需要50Hz(周期是20ms)的信号,这对运放器件的选择有较高要求,从电路体积和功耗考虑也不易采用.5mV以上的控制电压的变化就会引起舵机的抖动,对于机载的测控系统而言,电源和其他器件的信号噪声都远大于5mV,所以滤波电路的精度难以达到舵机的控制精度要求. 可以用单片机作为舵机的控制单元,使PWM信号的脉冲宽度实现微秒级的变化,从而提高舵机的转角精度.单片机完成控制算法,再将计算结果转化为PWM

安卓学习随笔 -- 自定义标题栏

在安卓中不喜欢系统默认的标题栏,那么如何让自定义一个自己的标题栏呢. 自定义后的标题栏如下: 首先这里需要定义一个自定义的标题栏布局 title.xml文件 (里边需要两个图片这个很简单) <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fi

BUG_学习随笔(移动数据快捷开关)

4.3 一. 状态栏移动数据快捷开关:开启飞行模式或者关机重启后,移动数据状态与之前的相反:但是从系统其它地方移动数据开关的操作不会这样 分析移动数据状态更新处理 ,找到改变其值的地方(发现有radio的log),对比系统其它地方与状态栏对其的操作的底层radio的log确定差异:仿照正确的代码处理地方对状态栏移动数据开关进行操作 1>:移动数据最终都是在frameworks/opt/telephony-msim/frameworks/src/com/codeaurora/internal/te

C primer plus 学习随笔

数据类型 int类型  printf()输出八进制整数时,用%o代替%d,输出十六进制时,用%x. %#o.%#x和%#X分别生成0.0x.0X前缀. 1 #include <stdio.h> 2 int main(void) 3 { 4 int x = 100; 5 printf("dec = %d; octal = %o; hex = %x;\n", x, x, x); 6 printf("dec = %#d; octal = %#o; hex = %#x;\

Object C学习笔记25-文件管理(一)

在此篇文章中简单记录一下文件管理,在Object C中NSFileManager用于管理文件已经路径.在Object C中的文件路径可以是相对路径也可以是绝对路径.斜线"/"开头,斜线实际上就是一个目录,称为 根目录.字符(-)用作用户主目录的缩写.点" . "表示当前目录,两点"  .. "表示父目录. 一. 创建NSFileManager 对象 NSFileManager非常简单,可以使用如下方式来创建NSFileManager对象. NSS

Object C学习笔记26-文件管理(二)

上一篇简单的介绍了如何获取文件属性,删除,拷贝文件等,本文继续记录Object C中文件IO操作. 一. 获取文件的执行主目录 在Object C中提供了一个方法 NSHomeDirectory() 用于获得执行执行的主目录,使用如下代码测试: NSString *homePath=NSHomeDirectory(); NSLog(@"执行文件的主目录:%@",homePath); 通过以上代码可以正确的输出应用程序的执行目录,上一张也提到了文件的目录问题,这个和Windows系统的有