NSString在AQGridViewCell中

时间:2011-11-05 19:31:27

标签: objective-c cocoa-touch ipad aqgridview

我设置AQGridView以显示文档目录中的文件以及在启动时预定义并加载到表中的其他4个文档。我需要知道如何设置单元格来保存文档的URL(是的,甚至是预定义的文件!毕竟它们都只是NSStrings。)所以稍后可以用

调用它。
- (void)gridView:(AQGridView *)gridView didSelectItemAtIndex:(NSUInteger)index { 
    NSString *fileURL = [self._icons objectAtIndex:index]; 
    // do stuff
}

并使用自定义-(id)init方法加载到新视图中。现在,NSLog文档目录对象单元格在日志中返回(NULL)SIGABRT


好的,赏金好了。我认为这意味着我可以要求一点质量。代码片段会很棒!

可根据要求提供代码。

编辑工作代码:

//.h    
NSMutableArray *_documentIconsURLs;

//.m
//viewDidLoad
 // array for internal and external document URLs
    self._documentIconsURLs = [NSMutableArray array];
        _documentIconsURLs = [[NSMutableArray alloc] initWithObjects:@"Musette.pdf",
                              @"Minore.pdf",
                              @"Cantata.pdf",
                              @"Finalé.pdf",
                              @"divine-comedy-inferno.pdf", nil];
//didSelectObject
- (void) gridView:(AQGridView *)gridView didSelectItemAtIndex:(NSUInteger)index {

    NSLog (@"Selected theArgument=%d\n", index);

    UIViewController *viewController = [[[UIViewController alloc]init]autorelease];
    {
        //if file is built-in, read from the bundle
        if (index <= 4)
        {
            // first section is our build-in documents
            NSString *fileURLs = [_documentIconsURLs objectAtIndex:index];
            NSLog(@"%@", fileURLs);
            viewController = [[[viewController alloc]initWithContentURL:fileURLs]autorelease];
        }

1 个答案:

答案 0 :(得分:1)

查看AQGridView附带的Springboard示例代码。

使用我放置here的代码交换SpringBoardIconCell和SpringBoardViewController的代码。

基本上只需将一个UILabel添加到SpringBoardIconCell,将其添加到View层次结构中,并从dataSource中设置gridView:cellForItemAtIndex:中的文本。

最后:

-(void)gridView:(AQGridView *)gridView didDeselectItemAtIndex:(NSUInteger)index
{
    NSString *fileName = [self.fileNames objectAtIndex:index]; 
    //do stuff
}