`
热带翎羽
  • 浏览: 64689 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论
文章列表
大致步骤 1) 新建一个UIView的子类(@interface HypnosisView : UIView) 2) 自定义绘图函数:(void) drawRect:(CGRect)rect 确定绘图范围:CGRect bounds=[self bounds] 获得CGContext, CGContextRef context=UIGraphicsGetCurrentContext(); 进行绘图操作 3) 将新视图绑定到主窗口 在HypnosisterAppDelegate中添加一个成员变量HypnosisView *view; 确定绘图范围 在didFinishLaunchi ...
我们可以通过发送消息给对象出发特定动作,但对象发送某些变化的时候用什么方法通知我们呢?对的,通过回调函数(callback)。对象在特定事件发生的时候,就会调用对应的回调函数,触发业务逻辑。 在iPhone的开发框架中,回调函数通过所谓的代理(Delegation)来实现,举例说明:每个UITextView对象都有一个delegate属性,该属性指向一个特定的对象,所谓特定指的是该对象遵从特定的协议(Protocol),这个与Java中的Interface应该是同一概念,指的是预定义方法的集合,如: @protocol UITextViewDelegate @optional - ...
1) 两种内存管理中常犯的错误 * 过早释放(premature deallocation)过早释放了仍有程序应用的内存块 * 内存泄露(memory leaks)未释放已无程序应用的内存块 2) Object C中的内存分配不使用malloc(size)/free(buffer)这样的方式,而是用对象的alloc和dealloc方法来进行分配和释放,但对象不接受来自外部的dealloc消息,而是通过引用计数来控制。 3) 可以通过Class *instance=[[[Class alloc] init] autorelease]创建自动释放的对象,该对象指针会加入NSAutorelease ...
思路: 1) Interface Builder制作界面 2) 头文件中增加Outlet和事件响应函数 3) 建立界面与代码的关联 4) 添加实际代码(初始化、按键响应等) 效果: 代码: // // QuizAppDelegate.h // Quiz // // Created by bruce.lin on 6/21/11. // Copyright 2011 __MyCompanyName__. All rights reserved. // #import <UIKit/UIKit.h> @interface QuizAppD ...
知识点: 1) iPhone的SDK是一个面向对象的库,窗口的基类是UIWindow,可视组件的基类是UIView,如:UIButton继承至UIView 2) 可视组件的添加方式: * 通过编程动态创建并添加至UIWindow * 通过Interface Builder可视地添加 3) Interface Builder输出文件XIB是界面的XML化得描述,NIB文件时最终进入应用发布包的文件(由于文件更小解析更快) 4) Inspector窗口-调整属性; Library-控件库; Doc-模型; 5) XXXAppDelegate是应用的控制器(MVC中的C)负责V和M的同步的状态控制 6 ...
看着同学朋友们都整了iPhone,一时冲动也搞了一个,想想也不能浪费了,准备学习开发,相关准备如下: 1) macbook pro 2G with Snow Leopard 10.6.7 2) iPhone CDMA 4.2.8 近期准备学习: iPhone Programming: The Big Nerd Ranch Guide, 471页 准备1个月内学习完毕,发文自勉之。
标准的M-M做法: class User{ static hasMany=[roles:Role] String name } class Role{ static belongsTo = User static hasMany=[users:User] String name } 使用方法: Role roleUser=new Role(name: "ROLE_USER").save() Role roleAdmin==new Role(name: "ROLE_ADMIN").sa ...
效果: string     无需转换 string inList       {fieldLabel: '${cgDomainProperties.string2.chinese}',name: 'string2',xtype: 'combo',store: new Ext.data.SimpleStore({ fields:['values'], data:[['选择1'],['选择2'],['选择3']]}), emptyText:'请选择${cgDomainProperties.string2.chinese}',mode: 'local', triggerAction: ...
功能:根据Domain定义自动生成CRUD 效果图: 代码: <% import grails.persistence.Event %><% import org.codehaus.groovy.grails.plugins.PluginManagerHolder %><%=packageName%> <% boolean hasHibernate = PluginManagerHolder.pluginManager.hasGrailsPlugin('hibernate') %><% def output(p,cp) ...
类定义: class Book{ static domain=[pkg:"application.",name:"book",class:"Book",chinese:"书籍"] } 动态加载代码: outputPath="./output" generatingClasses=["Book"] String[] loadingPaths = ['./input'] engine = new GroovyScriptEngine(loadingPat ...
Grails原生的scaffolding机制所生成的代码主要用于模型验证,在实际中基本无法直接在项目中使用,主要原因如下: 生成的CRUD中的代码过于简单,不包含:搜索(Ajax)、Tooltip、表单分组/分栏等 Domain模型中没有包含对所生成的View层代码的控制信息和基础信息 现有的Domain模型,如果通过attributes进行自定义的扩展不符合Grails的整体思路 无法实现单一模型对多个View的情况,如:针对互联网版本和针对手机客户端版本 针对以上问题,如果可以通过引入Domain元数据的方式,通过元数据中的基础信息和控制信息,生成相互联系的Gomain/Contro ...
Grails是一个构建于Java和Groovy上的动态Web应用框架。她以包括Spring、Hibernate和SiteMesh等成熟领先的J2EE框架为基础,将基于规约的开发乐趣带给Java和Groovy开发者的同时,也保护他们已使用数年之久的Java开发资源。 新功能&改进 新特性:基于Groovy 1.7.5 新功能:基于命名的查询现在支持排序 基于命名查询的列表方法目前支持静态列表方法一样的参数,如:排序字段、排序方式、是否大小写敏感等: Person.recentPublications.list(sort: 'title', order: 'desc', ignor ...
国庆节的一半走在折腾这个应用,由于是个人的第一个WEB开发,所以走了不少弯路 :-) 废话不说了,上图: 开发环境: Grails 1.3.4 Acegi 0.5.3 class-diagram 0.5.2 实现功能: 基于Acegi的权限管理框架 基于JQuery EasyUI 1.2的Tab布局 遇到的几个问题和收获: 1) 如何通过iframe新建TAB页 <a href="javascript:void(0)" class="easyui-linkbutton" plain="true& ...
插件功能: 安装后插件可以自动生成项目的UML类图(通过:http://localhost:8080/yourApp/classDiagram访问) 插件安装: grails install-plugin class-diagram 运行效果:
根据Graisl的手册,Grails构建配置的核心就是 grails.util.BuildSettings 类,它包含了大量有用的信息。它控制了哪些类被编译、应用程序依赖什么以及其他类似的设置。 自Grails 1.1版本发布后,应用插件的安装目录默认被调整到USER_HOME目录下,这个给应用的开发带来了一些不便,特别是用到的插件没有完全中文化的情况,这个小技巧是将Grails框架内的预定义目录进行调整,步骤如下: 1) 修改$GRAILS_HOME/src/java/grails/util(如:C:\JAVA\GRAILS\src\java\grails\util)的: BuildSett ...
Global site tag (gtag.js) - Google Analytics