Objective c 分离静态NSString以加载到数组中

Objective c 分离静态NSString以加载到数组中,objective-c,ios,ipad,static,nsstring,Objective C,Ios,Ipad,Static,Nsstring,因此,在Apple的DocInteraction示例之后,我放置了一个静态NSString来定义一些预加载的文档。现在我需要将它们加载到viewDidLoad方法中的NSArray中。如果我将它放入for()语句中,它会显示“expression result unused”,我知道我可以使用文档[indexPath.row]来解决它,但这是viewDidLoad方法。那么,如何获取静态NSString以加载到NSArray中呢 代码(编辑): //在@implementation之前 静态NS

因此,在Apple的DocInteraction示例之后,我放置了一个
静态NSString
来定义一些预加载的文档。现在我需要将它们加载到
viewDidLoad
方法中的NSArray中。如果我将它放入
for()
语句中,它会显示“expression result unused”,我知道我可以使用
文档[indexPath.row]
来解决它,但这是viewDidLoad方法。那么,如何获取静态NSString以加载到NSArray中呢

代码(编辑):

//在@implementation之前
静态NSString*文档[]=
{@“Musette.pdf”,
@“Minore.pdf”,
@“Cantata.pdf”,
@“Finalé.pdf”
};
//在viewDidLoad中
如果(_=nil)
{        
_icons=[[NSMutableArray alloc]init];
UIBezierPath*path=[UIBezierPath bezierPathWithRoundedRect:CGRectMake(0,0200.0324.0)
转弯半径:18.0];

对于(i=1;i整数),这毫无意义:

if ( _icons == nil )
    {        
        for(NSString * myStr in _icons) {

        _icons = [[NSMutableArray alloc] init];
你需要退一步,了解你在做什么

补充 还是不行。这张照片怎么了

    _icons = [[NSMutableArray alloc] init];
    UIBezierPath * path = [UIBezierPath bezierPathWithRoundedRect: CGRectMake(0, 0, 200.0, 324.0)
                                                     cornerRadius: 18.0];
                for(NSString * myStr in _icons) {
        UIGraphicsBeginImageContext( CGSizeMake(200.0, 324.0) );

我不确定我是否完全理解你的要求:

for(NSString * myStr in _icons) {
这不起作用,因为_icons==nil。为什么不能在此行之前创建字符串


您还需要将其设置为NSArray。

对于Objective-C中for语句的每次修改,C-Array都不受支持。因此,您有两种选择:

  • 使用普通语句循环

    对于(int idx=0;idx
  • 创建一个自定义的NSEnumerator子类并使用它…然而,我相信,对于这种情况,这将是一个很大的开销


  • 很好。谢谢。我会在那个卑鄙的时限一过就勾选。丹尼斯的答案就是我想要的,谢谢你的批评!现在检查代码,完全是一个打字错误,因为那样会初始化一个数组4次!根本不会初始化数组。好的,检查最近的编辑…它已经解决了…a第二,否决票是怎么回事?编辑:多亏丹尼斯的建议,代码现在工作得很好。多亏了所有回答的人。奇怪的是,代码没有引用你的文档数组。我认为这与示例中苹果的特殊documentWatcher类有关。
    for(NSString * myStr in _icons) {