问题列表 - 第9655页

Core Data实体中布尔属性的类型是什么?

我以编程方式使用Core Data(即不使用.xcdatamodel数据模型文件),其方式与Apple的Core Data Utility Tutorial中描述的方式大致相同.所以我的问题是,当我尝试向具有该类型的实体添加属性时NSBooleanAttributeType,它会有点错误.当我将它添加到我的NSManagedObject子类头文件(在教程中,那将是Run.h)as

@property (retain) BOOL *booleanProperty;
Run Code Online (Sandbox Code Playgroud)

编译失败,说error: property 'booleanProperty' with 'retain' attribute must be of object type.

似乎Cocoa中的某些地方使用NSNumber对象来表示布尔值,所以我尝试将其设置为

@property (retain) NSNumber *booleanProperty;
Run Code Online (Sandbox Code Playgroud)

代替.但是,这会引起以下运行时错误:

*** -[NSAttributeDescription _setManagedObjectModel:]: unrecognized selector sent to instance 0x101b470
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSAttributeDescription _setManagedObjectModel:]: unrecognized selector sent to instance 0x101b470'
Run Code Online (Sandbox Code Playgroud)

使用GDB,我能够将其追溯到我的源代码中的行,在那里我将我的实体添加到托管对象模型:

[DVManagedObjectModel setEntities:[NSArray arrayWithObjects:myEntityWithABooleanAttribute, myOtherEntity]];
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:我应该在自定义类头中将booleanProperty设置为什么类型?

cocoa core-data objective-c

14
推荐指数
4
解决办法
2万
查看次数

如何使用+或 - 分割给定的String?

我想分割一个多项式,如:

2x^7+x^2+3x-9
Run Code Online (Sandbox Code Playgroud)

进入每个术语(2x ^ 7,x ^ 2,3x,9)

我已经考虑过使用String.split()了,但是如何才能使用多个参数呢?

java string

3
推荐指数
2
解决办法
2141
查看次数

IIS中托管的WCF服务中的相对路径

我在WCF中整合了一个快速数据服务,可以通过公共Silverlight 2.0应用程序访问.由于我的数据非常静态且相对简单,我只想将其存储在本地XML文件中(因为有非常有限数量的人会编辑它而变得更容易).

我想知道从我的服务中找到相对路径的最佳方法是什么.在传统的ASP.NET中,我可以在此WCF服务中使用Server.MapPath ....没有类似的可用内容.此解决方案最终将托管在我无法控制的托管服务提供商处,因此我无法对任何固定位置进行硬编码.我更愿意在AppData文件夹中获取一些XML文件的相对路径.

有什么建议?

wcf

7
推荐指数
2
解决办法
1万
查看次数

为什么析构函数不会在放置新的"隐式调用"?

正如本网站所提及的那样... http://www.parashift.com/c++-faq-lite/dtors.html#faq-11.10 但是我没有找到原因,为什么我们应该明确地调用desturctor?

c++

3
推荐指数
3
解决办法
6620
查看次数

Haskell FFI:ForeignPtr似乎没有被释放(也许是一个GHC错误?)

请考虑以下代码段

import qualified Foreign.Concurrent
import Foreign.Ptr (nullPtr)

main :: IO ()
main = do
  putStrLn "start"
  a <- Foreign.Concurrent.newForeignPtr nullPtr $
    putStrLn "a was deleted"
  putStrLn "end"
Run Code Online (Sandbox Code Playgroud)

它产生以下输出:

start
end
Run Code Online (Sandbox Code Playgroud)

我曾希望看到" a was deleted"后地方start..

我不知道发生了什么事.我有一些猜测:

  • 程序完成时,垃圾收集器不会收集剩余的对象
  • putStrLnmain完成后停止工作.(顺便说一句,我和国外进口同样的东西puts也得到了同样的结果)
  • 我的理解ForeignPtr是缺乏的
  • GHC错误?(环境:GHC 6.10.3,Intel Mac)

当使用Foreign.ForeignPtr.newForeignPtr而不是Foreign.Concurrent.newForeignPtr它似乎工作:

{-# LANGUAGE ForeignFunctionInterface #-}

import Foreign.C.String (CString, newCString)
import Foreign.ForeignPtr (newForeignPtr)
import Foreign.Ptr (FunPtr)

foreign import ccall "&puts" puts :: FunPtr (CString -> IO ()) …
Run Code Online (Sandbox Code Playgroud)

garbage-collection haskell ffi

2
推荐指数
1
解决办法
820
查看次数

XSLT/XPath中的当前节点与Context节点?

在XSLT中,"当前节点"和"上下文节点"之间有什么区别?您可以在这里找到这两个术语:http://www.w3.org/TR/xslt.

你什么时候使用其中一个?你怎么参考每一个?

xml xslt xpath

65
推荐指数
2
解决办法
4万
查看次数

为什么我不能使用`=`复制数组?

我开始通过阅读K&R并完成一些练习来学习C语言.经过一番挣扎,我终于可以用以下代码完成练习1-19:

/* reverse: reverse the character string s */
void reverse(char s[], int slen)
{
  char tmp[slen];
  int i, j;

  i = 0;
  j = slen - 2;    /* skip '\0' and \n */

  tmp[i] = s[j];
  while (i <= slen) {
    ++i;
    --j;
    tmp[i] = s[j];
  }

  /* code from copy function p 29 */
  i = 0;
  while ((s[i] = tmp[i]) != '\0')
    ++i;

}
Run Code Online (Sandbox Code Playgroud)

我的问题是关于tmpchar数组被复制到的最后一段代码s.为什么不是简单的s = tmp;工作呢?为什么必须按索引遍历数组复制索引?

c arrays

7
推荐指数
2
解决办法
4万
查看次数

如何在PHP + MySQL中正确实现自定义会话持久性?

我正在尝试在PHP + MySQL中实现自定义会话持久化.大多数东西都是微不足道的 - 创建你的数据库表,创建你的读/写函数,调用session_set_save_hander()等等.甚至有几个教程为你提供了示例实现.但不知何故,所有这些教程都方便地忽略了一个关于会话持久性的微小细节 - 锁定.现在,真正的乐趣开始了!

我看了一下PHP 的session_mysql PECL扩展的实现.这使用MySQL的功能get_lock()release_lock().看起来不错,但我不喜欢它的做法.锁定在读取功能中获取,并在写入功能中释放.但是如果写函数永远不会被调用怎么办?如果脚本以某种方式崩溃,但MySQL连接保持打开(由于池或其他东西)怎么办?或者如果脚本进入致命的僵局怎么办?

我刚遇到一个问题,一个脚本打开一个会话,然后尝试flock()通过NFS共享一个文件,而另一个计算机(托管该文件)也做同样的事情.结果是flock()-over-NFS调用在每次调用时阻止脚本大约30秒.它是在20次迭代的循环中!由于这是一个外部操作,PHP的脚本超时不适用,并且每次访问此脚本时会话都被锁定超过10分钟.而且,幸运的是,这是每5秒钟由AJAX shoutbox进行轮询的脚本......主要的showstopper.

我已经对如何以更好的方式实现它有一些想法,但我真的想听听其他人的建议.我没有那么多使用PHP的经验来了解哪些细微的边缘情况在阴影中隐约可能有一天会危及整个事物.


添加:

好吧,似乎没有人有任何建议.那么,这是我的想法.我想对这可能出错的地方提出一些意见.

  1. 使用InnoDB存储引擎创建会话表.这应该确保即使在集群方案下也能正确锁定行.表应当有列ID,数据,的LastAccessTime,LOCKTIME,LockID.我在这里省略了数据类型,因为它们直接来自需要存储在其中的数据.该ID将是PHP会话ID.数据当然包含会话数据.LastAccessTime将是一个时间戳,将在每次读/写操作时更新,并将由GC用于删除旧会话.LOCKTIME将是在对会议取得的最后一个锁的时间戳,以及LockID将锁的GUID.
  2. 读取请求操作,会有采取以下措施:
    1. 执行INSERT IGNORE INTO sessions (id, data, lastaccesstime, locktime, lockid) values ($sessid, null, now(), null, null);- 这将创建会话行(如果它不存在),但如果它已经存在则不执行任何操作;
    2. 在变量$ guid中生成随机锁定id;
    3. 执行UPDATE sessions …

php mysql session persistence

10
推荐指数
1
解决办法
4545
查看次数

如何更改可执行文件的属性?(视窗)

当我创建.exe时,我可以右键单击它并转到属性 - >详细信息.然后我得到一个列表,如:

File Description | 
Type             | Application
File Version     | 
Product Name     | 
Product Version  |
Copyright        | 
Size             | 18.0 KB
Date Modified    | 6/16/2009 8:23 PM
Language         |
Run Code Online (Sandbox Code Playgroud)

如何更改这些属性?(另外,有没有办法改变图标?)

c++ windows executable exe properties

24
推荐指数
4
解决办法
6万
查看次数

如何将Web应用程序连接到Hunchentoot

我正在编写一个需要hunchentoot Web服务器的Web应用程序.我几乎没有关于hunchentoot或任何网络服务器的工作知识,我想知道我在Common Lisp中编写的应用程序如何将页面提供给Web客户端.我已经看到了一些很好的例子(例如Hunchentoot Primer,用于Web的Lisp).Hunchentoot页面上列出的那个.你知道我在哪里可以找到更多这样的例子吗?谢谢.

common-lisp hunchentoot

4
推荐指数
1
解决办法
2371
查看次数