当前位置: 编程技术>移动开发
本页文章导读:
▪jpg转成png文件时遇到的有关问题 jpg转成png文件时遇到的问题
今天从网上下载一个一个jpg文件,要把他改成png文件,嫌麻烦,就直接把后缀给改掉了,在windows看图片貌似没有问题。然后把文件放到cocos2d工程里面进行读取.........
▪ Hibernate回到一个实体 Hibernate返回一个实体
@Override public ExistedSystem getExistedSystemByName(String existedSystemName) { String hql = "select * from tbl_existed_system where name = {0}"; final String formathql = Messag.........
▪ 怎么关闭不使用Automatic Reference Counting(ARC) 如何关闭不使用Automatic Reference Counting(ARC)
我們來看看如何關閉Automatic Reference Counting的機制吧,方法總共有兩種:
1. 新開專案若你的專案是新開的,那麼只要在開專案時反勾選.........
[1]jpg转成png文件时遇到的有关问题
来源: 互联网 发布时间: 2014-02-18
jpg转成png文件时遇到的问题
今天从网上下载一个一个jpg文件,要把他改成png文件,嫌麻烦,就直接把后缀给改掉了,在windows看图片貌似没有问题。然后把文件放到cocos2d工程里面进行读取,返回的指针始终为NULL,最近断点跟进去,发现是这个断言出了问题
后来一查,原来这个函数是检查png文件的签名的,估计是png校验错误了,一想也是随便就把后缀名改掉了,就有可能出这个错误吧,后来就用ps重新存取为了一个新png文件,果然就没有问题了。看来coocs2d读取文件返回为NULL的,不一定代表该文件不存在,有可能是文件其他的方面除了问题。
参考:http://refspecs.linuxbase.org/LSB_3.1.1/LSB-Desktop-generic/LSB-Desktop-generic/libpng12.png.sig.cmp.1.html
今天从网上下载一个一个jpg文件,要把他改成png文件,嫌麻烦,就直接把后缀给改掉了,在windows看图片貌似没有问题。然后把文件放到cocos2d工程里面进行读取,返回的指针始终为NULL,最近断点跟进去,发现是这个断言出了问题
CC_BREAK_IF(png_sig_cmp(header, 0, 8));
后来一查,原来这个函数是检查png文件的签名的,估计是png校验错误了,一想也是随便就把后缀名改掉了,就有可能出这个错误吧,后来就用ps重新存取为了一个新png文件,果然就没有问题了。看来coocs2d读取文件返回为NULL的,不一定代表该文件不存在,有可能是文件其他的方面除了问题。
参考:http://refspecs.linuxbase.org/LSB_3.1.1/LSB-Desktop-generic/LSB-Desktop-generic/libpng12.png.sig.cmp.1.html
[2] Hibernate回到一个实体
来源: 互联网 发布时间: 2014-02-18
Hibernate返回一个实体
@Override
public ExistedSystem getExistedSystemByName(String existedSystemName)
{
String hql = "select * from tbl_existed_system where name = {0}";
final String formathql = MessageFormat.format(hql, "'" + existedSystemName + "'");
ExistedSystem ret = (ExistedSystem)getHibernateTemplate().executeWithNewSession(new HibernateCallback()
{
@Override
public Object doInHibernate(Session session)
throws SQLException
{
ExistedSystem existedSystem = new ExistedSystem();
Object[] next = (Object[])session.createSQLQuery(formathql).uniqueResult();
Project project = new Project();
project.setProjectId((Integer)next[0]);
existedSystem.setProject(project);
existedSystem.setServerId((Integer)next[1]);
existedSystem.setName(next[Constants.TWO].toString());
existedSystem.setDescription(next[Constants.THREE].toString());
existedSystem.setModel(next[Constants.FOUR].toString());
existedSystem.setProcessorFamily(next[Constants.FIVE].toString());
existedSystem.setCpuCores((Short)next[Constants.SIX]);
existedSystem.setCpuCoreSpeed((Short)next[Constants.SEVEN]);
existedSystem.setMemoryCapacity((Float)next[Constants.EIGHT]);
existedSystem.setDiskIoCapacity((Float)next[Constants.NINE]);
existedSystem.setNetworkIoCapacity((Float)next[Constants.TEN]);
existedSystem.setOs(next[Constants.ELEVEN].toString());
existedSystem.setType((Short)next[Constants.TWELVE]);
return existedSystem;
}
});
return ret;
}
/** {@inheritDoc} */
@Override
public ExistedSystem getExistedSystemByName(String existedSystemName)
{
String hql = "select * from tbl_existed_system where name = {0}";
final String formathql = MessageFormat.format(hql, "'" + existedSystemName + "'");
ExistedSystem ret = (ExistedSystem)getHibernateTemplate().executeWithNewSession(new HibernateCallback()
{
@Override
public Object doInHibernate(Session session)
throws SQLException
{
ExistedSystem existedSystem = new ExistedSystem();
Object[] next = (Object[])session.createSQLQuery(formathql).uniqueResult();
Project project = new Project();
project.setProjectId((Integer)next[0]);
existedSystem.setProject(project);
existedSystem.setServerId((Integer)next[1]);
existedSystem.setName(next[Constants.TWO].toString());
existedSystem.setDescription(next[Constants.THREE].toString());
existedSystem.setModel(next[Constants.FOUR].toString());
existedSystem.setProcessorFamily(next[Constants.FIVE].toString());
existedSystem.setCpuCores((Short)next[Constants.SIX]);
existedSystem.setCpuCoreSpeed((Short)next[Constants.SEVEN]);
existedSystem.setMemoryCapacity((Float)next[Constants.EIGHT]);
existedSystem.setDiskIoCapacity((Float)next[Constants.NINE]);
existedSystem.setNetworkIoCapacity((Float)next[Constants.TEN]);
existedSystem.setOs(next[Constants.ELEVEN].toString());
existedSystem.setType((Short)next[Constants.TWELVE]);
return existedSystem;
}
});
return ret;
}
/** {@inheritDoc} */
[3] 怎么关闭不使用Automatic Reference Counting(ARC)
来源: 互联网 发布时间: 2014-02-18
如何关闭不使用Automatic Reference Counting(ARC)
我們來看看如何關閉Automatic Reference Counting的機制吧,
方法總共有兩種:
1. 新開專案
若你的專案是新開的,
那麼只要在開專案時反勾選"Use Automatic Reference Counting"的選項即可,
這個專案就可以自行完成記憶體管理的動作。
2.舊有專案
若是專案之前已經開過或是忘記關掉"Use Automatic Reference Counting",
那麼可以到"Build Settings"中進行調整。
找到"Apple LLVM compiler 3.0 – Language"的項目下,
將CLANG_ENABLE_OBJ_ARC設為NO,
並將GCC_ENABLE_OBJC_GC設為Unsupported,
這樣就能關閉Compiler中的Automatic Reference Counting處理。
//----------------------------------------------------
在Apple LLVM compiler 3.1 - Language里是Objective-C Automatic Reference Counting = No
Objective-C Garbage Collection = Unsupperted
//----------------------------------------------------
本文引用部分http://blog.riaproject.com/objective-c/1845.html 点击链接前往查看原文.
最新技术文章: