xml和NSTableView的一些备注

今天在项目中遇到的问题:在获取字典中的地址和文件名字了,并且进行拼接过后,转换成NSURL的时候NSURL的值为空.
 

          NSString*strUrl  =[NSStringstringWithFormat:@"%@%@",[rowdic objectForKey:@"DownloadURL"],[rowdic objectForKey:@"Filename"]];
输出strUrl是一个正确的完整的下载地址.
NSURL *url = [NSURL URLWithString:strUrl];
            NSLog(@"%@",url);
这个时候NSLog输出为空.
经过测试,是因为文件名称中有空格字符,NSURL无法识别.
解决方案:
-(NSString *)returnFormatString:(NSString *)str
{
      return [strstringByReplacingOccurre ncesOfString:@" " withString:@" "];
}
//再看地址,就已经是正确的下载地址了.
NSURL *url = [NSURL URLWithString:[selfreturnFormatString:strUrl]];



由于有些特殊字符在HTTP中的特殊用途,所以在要传递这些字符的时候必须进行编码,下表中列出了一些URL特殊符号及编码

               十六进制值
1.    +    URL 中+号表示空格    %2B
2.    空格    URL中的空格可以用+号或者编码    %20
3.    /    分隔目录和子目录    %2F
4.    ?    分隔实际的 URL 和参数    %3F
5.    %    指定特殊字符    %25
6.    #    表示书签    %23
7.    &    URL 中指定的参数间的分隔符    %26
8.    =    URL 中指定参数的值    %3D
苹果的url 参数中不能包含空格,可用+替代

具体见: http://dev.firnow.com/course/3_program/java/javajs/2008126/152984.html




NSTableView row 响应双击事件和单击事件 setDoubleAction 和 setAction

-(void)awakeFromNib{

    [super awakeFromNib];


    [tableView setTarget:self];

    [tableView setDoubleAction:NSSelectorFromString(@"doubleClick:")];

    //setDoubleAction双击选择事件

    [tableView setAction:NSSelectorFromString(@"doubleClick:")];//setAction单击选择事件


}

- (void) doubleClick: (id)sender 

    NSInteger rowNumber = [tableViewclickedRow];

    NSLog(@"Double Clicked.%ld ",rowNumber); 


Cocoa用代码创建窗口的方法  

2011-02-17 21:57:26|  分类:Cocoa |字号 订阅

在XCode中创建一个cocoa Application,删掉默认创建的界面菜单文件MainMenu.xib和AppDelegate.h(m)文件。修改main.m文件为以下内容
#import <Cocoa/Cocoa.h>

int main(int argc, char* argv[])
{
    [[NSAutoreleasePool alloc] init];
    [NSApplication sharedApplication];

    NSRect rc = NSMakeRect(0, 0, 800, 600);
    NSUInteger uiStyle = NSTitledWindowMask | NSResizableWindowMask | NSClosableWindowMask;
    NSWindow* win = [[NSWindow alloc] initWithContentRect:rc styleMask:uiStyle backing:NSBackingStoreBuffered defer:NO];
    [win setTitle:@"HelloWin Test"];
    [win makeKeyAndOrderFront:nil];
    [win makeMainWindow];
    [win center];

    [NSApp run];
    return 0;
}

编译执行即可出现一个800X600大小的空白窗口。

你可能感兴趣的:(xml和NSTableView的一些备注)