小编Dru*_*erB的帖子

NSAttributedString在基于视图的NSOutlineView中呈现为普通字符串吗?

我正在尝试向基于视图的NSOutlineView中的单元格添加一些格式。无论我尝试什么,都将以我指定的任何格式呈现文本。这是我目前的方法:

NSMutableAttributedString *versionString = [[NSMutableAttributedString alloc] 
                                             initWithString:myString];
[versionString addAttribute:NSForegroundColorAttributeName 
                      value:[NSColor redColor] range:NSMakeRange(0, 3)];

NSTableCellView result = [outlineView makeViewWithIdentifier:@"DataCell" 
                                                       owner:self];
result.textField.allowsEditingTextAttributes = YES;
result.textField.attributedStringValue = versionString;
Run Code Online (Sandbox Code Playgroud)

是否无法在NSOutlineView和标准NSTextField中呈现属性字符串?

cocoa objective-c nsoutlineview nstableview nsattributedstring

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

如何使用 sed 只打印匹配项?

好吧,这是一个简单的问题,但我无法弄清楚。

基本上我想<a href="[^<>]*">[^<>]*</a>从一个大html文件中提取所有链接()。

我尝试用 执行此操作sed,但得到了各种结果,但不是我想要的。我知道我的正则表达式是正确的,因为我可以替换文件中的所有链接:

sed 's_<a href="[^<>]*">[^<>]*</a>_TEST_g'
Run Code Online (Sandbox Code Playgroud)

如果我在类似的东西上运行它

<div><a href="http://wwww.google.com">A google link</a></div>
<div><a href="http://wwww.google.com">A google link</a></div>
Run Code Online (Sandbox Code Playgroud)

我明白了

<div>TEST</div>
<div>TEST</div>
Run Code Online (Sandbox Code Playgroud)

我怎样才能摆脱其他一切并只打印匹配项?我首选的最终结果是:

<a href="http://wwww.google.com">A google link</a>
<a href="http://wwww.google.com">A google link</a>
Run Code Online (Sandbox Code Playgroud)

附言。我知道我的正则表达式不是最灵活的,但它足以满足我的意图。

regex macos bash terminal sed

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

如何在iOS上擦除UIImageView图像的某些部分?

我有一个UIImageView视图和一个图像设置.我想删除图像就像我们在带有橡皮擦的photoshop中所做的那样.我该如何实现这一目标?另外,如何撤消擦除?

iphone core-graphics objective-c erase

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

替换NSString中的[]括号?

我正试图找到并替换任何出现[URL]NSString.这是我的方法:

NSString *test = @"Test [URL] 123";
test = [test stringByReplacingOccurrencesOfString:@"[URL]"
                                       withString:@"HERE"
                                          options:NSRegularExpressionSearch
                                            range:NSMakeRange(0, test.length)];
Run Code Online (Sandbox Code Playgroud)

结果是Test [HEREHEREHERE] 123.我想这是因为[URL]这3个字符中的任意一个,所以所有3个字符将被HERE一个接一个地替换.

但是我也试过\[URL\]了同样的结果.

所以,实际上,我怎么搜索的字符[]

regex cocoa objective-c nsstring

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

使用后缀搜索NSArray

我有一个单词列表存储在一个NSArray,我想找到其中的所有单词的结尾'ing'.

有人可以提供一些示例/伪代码.

search objective-c nsarray

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

更改NSString的部分

我有一个urlString: http://www.youtube.com/watch?v=5kdEhVtNFPo

我希望能够将其改为: http://www.youtube.com/v/5kdEhVtNFPo

我该怎么做呢?我不确定我是否应该使用实例方法substringWithRange:substringFromIndex:

我尝试了这个删除第一部分,只留下视频ID(它删除http://www.youtube.com/watch?v=)现在我只需要添加http://www.youtube.com/v/到字符串的开头.

NSString *newUrlString = [urlString substringFromIndex:31];
Run Code Online (Sandbox Code Playgroud)

iphone objective-c nsstring ios

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

输出printf("%d"),没有其他参数

什么是输出printf("%d");printf("%p");声明?

当然我知道我应该传递参数,因为printf期待一个,但假设我将把这个留空将会发生什么?

我知道这会从堆栈中读取一些值(从应该放置函数参数的地方).假设我正在运行Linux机器,我可以期待这将是一些有效的值(例如函数返回地址)吗?

c linux

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

@synchronized不能在NSMutableArray上工作

我试图从一个可变数组中删除和对象 - 一个遍历每一帧的数组(参见tick:方法).

我正进入(状态

*集合<__ NSArrayM:0xaa99cb0>在枚举时发生了变异.

例外.

所以我添加 @synchronized()了锁定它不被其他线程触及,但它仍然失败.

- (void)addEventSubscriber:(id <EventSubscriber>)eventSubscriber
{
     [_eventSubscribers addObject:eventSubscriber];
}

- (void)removeEventSubscriber:(id <EventSubscriber>)eventSubscriber
{
    @synchronized(_eventSubscribers) // Not working.
    {
       [_eventSubscribers removeObject:eventSubscriber];
    }
}

- (void)tick:(ccTime)dt
{
   for (id <EventSubscriber> subscriber in _eventSubscribers)
   {
       if ([subscriber respondsToSelector:@selector(tick:)])
       {
           [subscriber tick:dt];
       }
   }
}
Run Code Online (Sandbox Code Playgroud)

multithreading objective-c cocos2d-iphone ios

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

反向地理编码 - 返回地点

我在iOS上的Objective C中使用反向地理编码返回城市时遇到了麻烦.我能够在completionHandler中记录这个城市,但是如果从另一个函数调用它,我似乎无法弄清楚如何将它作为字符串返回.

city变量是在头文件中创建的NSString.

- (NSString *)findCityOfLocation:(CLLocation *)location
{

    geocoder = [[CLGeocoder alloc] init];
    [geocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error) {

        if ([placemarks count])
        {

            placemark = [placemarks objectAtIndex:0];

            city = placemark.locality;

        }
    }];

    return city;

}
Run Code Online (Sandbox Code Playgroud)

objective-c core-location ios

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

在nib中加载顶级对象的顺序

nib文件中顶级对象的加载顺序是随机的还是可以确定的?我认为它会按照我将它们放入Interface Builder中的顺序加载对象.但似乎并非总是如此.

我想创建一个类似于Interface Builder的检查器视图,其中不同的部分具有交替的背景颜色.我计划通过在我的笔尖中将这些部分作为顶级视图进行排序,然后根据加载顺序对它们进行着色.

cocoa objective-c interface-builder nib appkit

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

使用Lumberjack的源文件中的不同日志级别

我开始使用Lumberjack日志框架.它需要一个调用的整数变量ddLogLevel,只要我调用其中一个日志宏就可以定义它.我可以写

static const int ddLogLevel = LOG_LEVEL_INFO
Run Code Online (Sandbox Code Playgroud)

在每个文件的顶部实现这一目标.但是,除了日志宏之外,我宁愿不写任何东西,就像我一样NSLog.我可以通过在我的项目的前缀头中定义上面的变量来做到这一点.这种方法的问题是,如果我想在我的某些文件中使用不同的日志级别,那么我无法重新声明该静态变量.

xcode cocoa objective-c nslog lumberjack

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

目标 C:比较两种无效的枚举类型

我想检查两种枚举类型,但似乎不起作用。我有以下几点:

typedef enum {
    ZSSegmentTypeE,
    ZSSegmentTypeS,
    ZSSegmentTypeO,
    ZSSegmentTypeD,
    ZSSegmentTypeN
} ZSSegmentType;
Run Code Online (Sandbox Code Playgroud)

以下作品:

if (someSegmentType != ZSSegmentTypeN) {
    // Works
}
Run Code Online (Sandbox Code Playgroud)

以下不工作:

if (someSegmentType != ZSSegmentTypeN || someSegmentType != ZSSegmentTypeD) {
     // Does NOT work
}
Run Code Online (Sandbox Code Playgroud)

为什么第二个示例不起作用,我正在测试两个不同的枚举?我在理解枚举和比较的工作方式时缺少什么?

c enums objective-c ios

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

为什么我的UILabel开始向后计数20亿?

我有一个UILabel在我的iPhone应用程序模拟器.它显示一个硬币计数,我有一个动作,计数增加1亿.我希望这个数字继续上升,但由于某种原因,一旦计数达到20亿,它会增加一个减号并开始倒计时,然后重新计算到20亿并再次退回,依此类推.

我希望能够显示更多的数字,即数万亿等...有谁知道这是怎么回事以及如何修复它所以标签数字将继续上升到我想要的高度.

我正在使用Xcode和Interface Builder并在模拟器中运行.我将数字存储在一个int变量中,如果这很重要的话.

iphone int objective-c uilabel ios

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