小编d.e*_*nis的帖子

iOS 5:对UIAppearance感到好奇

在2011年的技术讲座上,我看到了关于新UIAppearance 协议的演讲.目前还没有很多文档.我将简要总结一下我记得要解释我的问题来自哪里:


关于UIAppearance:

到目前为止,您必须在所有应用程序视图控制器中自定义每个导航栏(工具栏等)属性.使用新的外观属性,您只能在应用程序中的所有导航栏的一个位置执行此操作.例如:如果要自定义导航栏背景图像,可以这样做:

[[UINavigationBar appearance] setBackgroundImage:
   [UIImage imageNamed:@"MyImageName"] forBarMetrics:UIBarMetricsDefault]; 
Run Code Online (Sandbox Code Playgroud)

这将设置应用程序中所有导航栏的背景图像.随着barMetrics您可以指定是否要还用在横向模式影像与否.

如果要指定仅在某些视图控制器中应用的外观,则文档中还有一个方法可通过指定对象的位置来控制该方法:

[[UIBarButtonItem appearanceWhenContainedIn:
    [ABPeoplePickerNavigationController class], nil] setTintColor:myNavBarColor];
Run Code Online (Sandbox Code Playgroud)

另外值得一提的是,如果您有单个自定义实例,与您的外观设置不同,那么实例将不受外观代理的影响.


一些问题:

a)我如何知道类的哪些属性与外观属性一起使用?例如,因为UITableView符合UIAppearance协议我认为我可以做类似的事情

[[UITableView appearance] setBackgroundColor:mytableViewColor];
Run Code Online (Sandbox Code Playgroud)

操纵我所有表视图的背景颜色,但我不能!

b)是否有可以使用外观属性操作的所有类的列表?

c)在什么时候调用外观定制?我希望在运行时更改抛出外观属性,但不幸的是,更改没有发生.

iphone cocoa-touch appearance objective-c ios5

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

NSError localizedDescription始终返回英语错误消息

为什么NSURLErrorDomain的NSError*错误对象总是以英语返回error.localizedDescription?

iphone nserror ipad ios

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

核心数据:如何从一个核心数据条目设计树数据结构

我正在努力设计一个coreData模型,我只有一种类型的条目称为"To-Do".每个To-Do条目与其他(子)条目具有0,1,2,...或n关系,就像To-Do一样.因此,To-Do条目之间的关系设计了具有未定义数量的子节点的树结构.下图应说明案例(E =核心数据条目):

            E                            
           /|\                        
          / | \                       
         E  E  E                     
        / \               
       /   \         
      E     E               
     /|\                   
    E E E          
Run Code Online (Sandbox Code Playgroud)

我的猜测是对数据进行建模,如下图所示.我没有选择反向关系,因为Xcode与它建立了多对多关系,这与树设计不匹配.

在此输入图像描述

我也看到了data model inspector一个叫做"父母入境" 的东西.所以我开始相信我可能必须使用相同的属性创建名为"To-Do-Child"的第二个条目,并将另一个条目设置为父条目.手册告诉我,这可能是错误的道路......

问题:

  1. 如何在核心数据模型文件中对此方法进行建模?提到的那个是正确的吗?

  2. 我如何能够获取指定父节点的所有待办事项?由于它们来自同一个条目,因此我无法解决我想要的确切To-Do子树.

database iphone xcode core-data ios

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

使用[NSString stringWithString:@"some string"]与@"some string"的优点和缺点

我想比较以下简单的作业:

...
@property(nonatomic,retain) UITextField *textField;
...

self.textField.text = @"some string";
self.textField.text = [NSString stringWithString:@"some string"];
self.textField.text = [NSString stringWithFormat:@"some string"];
Run Code Online (Sandbox Code Playgroud)

textFielda UITextFieldtexta属性在哪里NSString?当然所有这些都有效.我知道使用参数时最后两个的区别.但是让我们说我们只对这种用法感兴趣.

问题:

  1. 为了做这种任务,我为什么不总是使用第一个?
  2. 比较后两个,这两个的编译和/或运行时间有什么不同吗?stringWithString:如果没有,我为什么要使用呢?

cocoa cocoa-touch objective-c nsstring ios

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