问题列表 - 第45696页

在运行时获取类的详细信息?

在Objective-C中,有没有办法在运行时列出特定类的类别?

使用Objective-C运行时函数,我可以获得类和实例方法,类层次结构,实例变量等的详细信息,但看起来不是类别信息.

看看F-Script,我发现它没有显示类别信息(实际上,它似乎根本不显示类别的方法).另一方面,类转储提取类别信息,但这是来自二进制而不是运行时.

在objc/runtime.h中提到了struct objc_category,但这看起来是私有的.有支持的方式吗?

runtime objective-c categories

8
推荐指数
1
解决办法
1233
查看次数

CoreData对多对多关系进行排序

我正在编写一个iOS应用程序,它具有人员记录存储,并且需要显示以特定方式排序的列表.这些排序有可变数量,它们是动态生成的,但我希望它们存储在数据存储区中.执行此操作的SQL方法是使ListPositions表具有列表名称,人员表中的id和排序键.然后,为了显示特定列表,我可以选择具有给定名称的所有列表ListPosition,拉入引用的人员,并对排序键进行排序.尝试在CoreDatat中执行此操作,但是我遇到了问题.我试图使用如下架构来做到这一点:

Person:
    Name
    DOB
    etc... 
    positions -->> ListPosition

ListPosition:
    listName
    sortKey
    person --> Person
Run Code Online (Sandbox Code Playgroud)

然后,我可以使用NSPredicate获取给定列表中的所有人员 [NSPredicate predicateWithFormat:@"ANY positions.listName like %@", someList]; 这允许我针对大量人员动态添加列表.问题是我无法使用ListPosition的sortKey字段对Persons进行排序.NSSortDescriptor会做什么?如果无法对多对多关系的一个元素的属性进行获取,那么在coredata中获取多个动态排序的另一种方法是什么?我正在使用NSFetchedResultsController显示列表,因此我无法将这些列表放在内存中.我需要使用单个NSFetchRequest来完成它.

iphone cocoa-touch core-data nssortdescriptor ios

13
推荐指数
1
解决办法
5233
查看次数

从函数中抛出和捕获异常

function connectTo(url) {
    var xhr = new XMLHttpRequest();
    xhr.open("GET", url, false);
    xhr.onreadystatechange = function () {
        if (xhr.readyState == xhr.DONE) {
            throw "Troubles.";
        }
    };
    xhr.send();
}

try {
    connectTo("http://www.google.com");
} catch (e) {
    console.log('Exception happend.');
}
Run Code Online (Sandbox Code Playgroud)

也许"catch"部分将执行(在控制台中显示消息),但异常保持未捕获状态(=在控制台中显示"Uncaught Troubles".).为什么?

javascript xmlhttprequest

5
推荐指数
1
解决办法
2150
查看次数

Scala:类型推断和子类型/更高级的类型

我一直在和Scalaz一起玩,以获得scala的一点点haskell感觉.为了理解scala中的工作原理,我开始自己实现各种代数结构,并且遇到了Scalaz人员提到过的行为.

这是我实现仿函数的示例代码:

trait Functor[M[_]] {
  def fmap[A, B](a: M[A], b: A => B): M[B]
}

sealed abstract class Foo[+A]
case class Bar[A]() extends Foo[A]
case class Baz[A]() extends Foo[A]

object Functor {

  implicit val optionFunctor: Functor[Option] = new Functor[Option]{
    def fmap[A, B](a: Option[A], b: A => B): Option[B] = a match {
      case Some(x) => Some(b(x))
      case None => None
    }   
  }

  implicit val fooFunctor: Functor[Foo] = new Functor[Foo] {
    def fmap[A, B](a: Foo[A], b: A => B): Foo[B] = …
Run Code Online (Sandbox Code Playgroud)

scala type-inference higher-kinded-types scalaz

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

如果列表中的项目存在,如何删除它?

new_tag从带有self.response.get("new_tag")selected_tags来自复选框字段的表单文本字段中获取

self.response.get_all("selected_tags")
Run Code Online (Sandbox Code Playgroud)

我把它们组合成这样:

tag_string = new_tag
new_tag_list = f1.striplist(tag_string.split(",") + selected_tags)
Run Code Online (Sandbox Code Playgroud)

(f1.striplist是一个删除列表中字符串内部空格的函数.)

但是在tag_list空的情况下(没有输入新标签)但有一些selected_tags,new_tag_list包含一个空字符串" ".

例如,来自logging.info:

new_tag
selected_tags[u'Hello', u'Cool', u'Glam']
new_tag_list[u'', u'Hello', u'Cool', u'Glam']
Run Code Online (Sandbox Code Playgroud)

如何摆脱空字符串?

如果列表中有空字符串:

>>> s = [u'', u'Hello', u'Cool', u'Glam']
>>> i = s.index("")
>>> del s[i]
>>> s
[u'Hello', u'Cool', u'Glam']
Run Code Online (Sandbox Code Playgroud)

但是如果没有空字符串:

>>> s = [u'Hello', u'Cool', u'Glam']
>>> if s.index(""):
        i = s.index("")
        del s[i]
    else:
        print "new_tag_list …
Run Code Online (Sandbox Code Playgroud)

python list

218
推荐指数
7
解决办法
41万
查看次数

UINavigationBar后退按钮不会出现

我有一个navigationBar,它的标题上有UIImage,如下所示:

self.navigationItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"top_logo.png"]];
Run Code Online (Sandbox Code Playgroud)

当我选择一行时,不会出现"后退"按钮.为什么?

我在其他的viewControllers上有完全相同的代码,它出现了.我不明白为什么......

谢谢,

RL

iphone uinavigationbar uibuttonbaritem

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

Delphi ^ A语法:记录,隐含或无证?

让我举个例子来解释一下.在Delphi中,您可以编写

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = ^C then
    ShowMessage('The user wants to copy something.')
  else if Key = ^V then
    ShowMessage('The user wants to paste.')
end;
Run Code Online (Sandbox Code Playgroud)

检查Ctrl + C和Ctrl + V键盘命令.实际上,相同的语法适用于Ctrl + A,其中A是任何字符,当然 - 您也可以使用case语句而不是ifs.你甚至可以做ShowMessage(^A),所以,显然,^A被认为是char.

但是,在浏览官方Delphi文档时,我找不到任何对此语法的引用.但也许^A语法是如此常见,以至于它被理解为底层纯文本文件格式的一部分?或者它只是Delphi编程语言的一个未记录的功能?(请注意,上述结构实际上是在RTL/VCL源代码中使用的.但是,当然,只有Embarcadero和Embarcadero才允许使用未记录的功能,如果有的话.)

delphi keyboard syntax character

39
推荐指数
1
解决办法
1078
查看次数

显示文件位置的图像

我想在我的公共目录中显示一个位置的图像.在我的模型中,我为图像创建了一条路径,但是当我在show动作中调用它时,它只显示字符串.

  def img_path
"<img src='/system/assets/10/original/airplane.jpg'>"
  end
Run Code Online (Sandbox Code Playgroud)

这是html:

      <td>&lt;img src='/system/assets/10/original/airplane.jpg'&gt;</td>
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

0
推荐指数
1
解决办法
5810
查看次数

升级到xcode 4错误没有要编译的体系结构

对于我的应用程序所依赖的所有库项目,升级到xcode 4后出现错误.

[BEROR]没有要编译的体系结构(ONLY_ACTIVE_ARCH = YES,活动arch = i386,VALID_ARCHS = armv6).

xcode ios xcode4

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

将System.ComponentModel.DataAnnotations与Entity Framework 4.0一起使用

我正在使用MVC3,并使用Entity Framework 4.0实体作为我的模型.到目前为止,就使用它作为模型而言,一切都很有效(所有的crud操作/页面生成开箱即用).我想知道,你如何获得与手动生成模型时相同的强大标签和验证信息?

这是我的意思的一个例子.这是一个由MVC3示例项目生成的类:

public class LogOnModel
{
    [Required]
    [Display(Name = "User name")]
    public string UserName { get; set; }

    [Required]
    [DataType(DataType.Password)]
    [Display(Name = "Password")]
    public string Password { get; set; }

    [Display(Name = "Remember me?")]
    public bool RememberMe { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

通过上面的示例,您可以指定在字段的标签中显示的内容(显示)以及要使用的字段类型(密码).但是,当我尝试使用实体框架并将其推送到下面的视图时,我看到自动生成的标签只是字段名称,而不是我希望用户看到/必须阅读的内容:

@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)
    <fieldset>
        <legend>Person</legend>

        <div class="editor-label">
            @Html.LabelFor(model => model.FirstName)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.FirstName)
            @Html.ValidationMessageFor(model => model.FirstName)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.MiddleName)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.MiddleName)
            @Html.ValidationMessageFor(model => model.MiddleName) …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc entity-framework-4 c#-4.0 asp.net-mvc-3

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