2012年7月4日

Objective-C lesson 3 内存管理 - Cocoa内存管理规则(精)

摘要: Cocoa内存管理规则1、当你使用new、alloc或copy方法创建一个对象时,该对象的保留计数值为1.当不再使用该对象时。你要负责向该对象发送一条release或autorelease消息。这样该对象将在起使用寿命结束时被销毁。2、当你通过任何其他方法获得一个对象时,则假设该对象被清理。如果你打算在一段时间内拥有该对象,则需要保留它并确保在操作完成时释放它。3、如果你保留了某个对象,你需要(最终)释放或自动释放该对象。必须保持retain方法和release方法的使用测试相等。总而言之,“如果我使用了new、alloc或copy方法获得一个对象,则我必须释放或自动释放该对象。”。 阅读全文

posted @ 2012-07-04 11:35 MichaelZhao 阅读(163) 评论(0) 推荐(0) 编辑

2012年7月3日

Objective-C lesson 2 内存管理-自动释放池的工作过程

摘要: //// main.m// RetainCount//// Created by Waqar Malik on 3/30/12.// Copyright (c) 2012 __MyCompanyName__. All rights reserved.//#import <Foundation/Foundation.h>@interface RetainTracker : NSObject@end // RetainTracker@implementation RetainTracker- (id) init{ if (self = [super init]) { ... 阅读全文

posted @ 2012-07-03 15:52 MichaelZhao 阅读(414) 评论(0) 推荐(0) 编辑

2012年6月14日

Objective-C lesson 1

摘要: 虽然我学过很多语言,但目前是在做c#,再者网上的很多资料都是将objective-c和c或java等语言比较,我这里和c#进行比较。在看了前三章后写点笔记供日后学习 首先是oc(Objective-C太长,今后都简称oc)中枚举的写法typedef enum { male, fmale} Sex;ps. typedef和enum是关键字新建一个类 会自动生成两个文件如:学生类 Student.h Student.m(注:Objective-C语言的类文件是*.m c语言的是*.c c++的是*.cpp 新手在有时候明明建的是一个c语言的类结果用oc的语法就导致老是编不过还找不到原因)下面我.. 阅读全文

posted @ 2012-06-14 11:21 MichaelZhao 阅读(232) 评论(0) 推荐(1) 编辑

2011年11月6日

c#中class和struct

摘要: struct 是值类型 ,class是引用类型struct 不能被继承,也就是说他没有办法搞出子类。http://msdn.microsoft.com/zh-cn/library/0taef578(VS.80).aspx使用结构(C# 编程指南) struct 类型适于表示 Point、Rectangle 和 Color 等轻量对象。尽管可以将一个点表示为类,但在某些情况下,使用结构更有效。例如,如果声明一个 1000 个 Point 对象组成的数组,为了引用每个对象,则需分配更多内存;这种情况下,使用结构可以节约资源。由于 .NET Framework 包含名为 Point 的对象,因此我们 阅读全文

posted @ 2011-11-06 23:37 MichaelZhao 阅读(774) 评论(0) 推荐(0) 编辑

c#中Array和ArrayList

摘要: 学习了一位博友的文章,记录一下http://www.cnblogs.com/agassi001/archive/2006/05/31/413540.html //C#语言是完全面向对象的,所以在C#中的数组也是对象, //实际上就是Array类的实例,Array类的使用可以说是使用最频繁的,只是大家在使用时都没太在意,如在创建数组int[]时实际上就创建了一个Array类对象的实例。 //Array testArray2 = new int[3]; // [Array和ArrayList的区别] ... 阅读全文

posted @ 2011-11-06 22:01 MichaelZhao 阅读(398) 评论(0) 推荐(0) 编辑

2011年7月25日

获得汉字拼音的首字母

摘要: public string GetPYChar(string c) { byte[] array = new byte[2]; array = System.Text.Encoding.Default.GetBytes(c); int i = (short)(array[0] - '\0') * 256 + ((short)(array[1] - '\0')); if (i < 0xB0A1) return "*"; if (i < 0xB0C5) return "a"; if (i < 0xB2C1) 阅读全文

posted @ 2011-07-25 22:46 MichaelZhao 阅读(1305) 评论(4) 推荐(0) 编辑

WP7 性能测试工具EQATEC

摘要: vs2010的性能测试工具相信大家都用过吧下面给大家介绍一款第三方的专门用于windows phone 7的性能评测工具EQATEC首先附上下载地址http://www.eqatec.com/profiler/home.aspx首先点击Browse然后选择生成好的.XAP文件(我们都知道一般的windows应用程序编译生成的是.EXE文件,而WP7应用程序的是.XAP)然后点击Build按钮,Build之后右下角的Run app就变为橙色可以点击了,我们点击之然后点击Run按钮,这时模拟器就开始运行你需要测试的程序了。然后回到Run标签页面,如下图点击take snapshot这是就会生成测评 阅读全文

posted @ 2011-07-25 22:38 MichaelZhao 阅读(618) 评论(2) 推荐(1) 编辑

2011年6月1日

复制任意格式文件到指定目录

摘要: //复制文件到指定目录private void btnFileCopy_Click(object sender, RoutedEventArgs e) { //弹出文件选择框 点击确定后开始复制文件 var open = new System.Windows.Forms.OpenFileDialog { Multiselect = false }; if (open.ShowDialog() == Forms.DialogResult.OK) { string f = open.FileName; //获得文件后缀 string extStr = Path.GetExtension(f); s 阅读全文

posted @ 2011-06-01 17:36 MichaelZhao 阅读(416) 评论(1) 推荐(0) 编辑

2011年5月10日

在wpf或winform关闭子窗口或对子窗口进行某个操作后刷新父窗口

摘要: 父窗口: /// <summary> ///弹出窗口 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void miFuncSet_Click(object sender, RoutedEventArgs e) { WinFuncSetting funcSetting = new WinFuncSetting(); funcSetting.ChangeTextE 阅读全文

posted @ 2011-05-10 09:47 MichaelZhao 阅读(2353) 评论(1) 推荐(3) 编辑

2011年5月6日

var 和 object

摘要: var关键字是C# 3.0开始新增的特性,称为推断类型 .object 是把一个变量直接声明成object类型 而Var则根据赋值的类型自动设置变量的类型,如:var s=5 等于 int s=5,而 var s="5" 等于 string s="5"var效率比OBJECT高点使用var定义变量时有以下四个特点:1. 必须在定义时初始化。也就是必须是var s = “abcd”形式,而不能是如下形式:var s;s = “abcd”;2. 一但初始化完成,就不能再给变量赋与初始化值类型不同的值了。3. var要求是局部变量。4. 使用var定义变量和o 阅读全文

posted @ 2011-05-06 18:20 MichaelZhao 阅读(794) 评论(0) 推荐(0) 编辑

导航