小编nac*_*o4d的帖子

是否可以在Objective-C扩展中定义ivars?

我想知道是否有可能在.m文件中写这样的东西:

@interface MyController () {//ERROR here
    Foo *privateFoo; 
}
@end
Run Code Online (Sandbox Code Playgroud)

我做到了,但我得到: Expected identifier or '{' before '{' token,我想我听到/观看视频(WWDC2010)说这是可能的或将是可能的,目前只有一些架构支持它...但我不确定,我不记得视频名称.

我希望我能在这里得到一些建议.

伊格纳西奥.

cocoa cocoa-touch objective-c

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

如何在Mac中获取SAP JCo中间件(com.sap.mw.jco.*)API

我试图使用一些com.sap.mw.jco.*类,比如IRepository和JCO.但我的IDE(Intellij)无法识别这些类.总是有编译错误.我试图将libsapjco3.jnilib添加到类路径中,并添加vm参数

-Djava.library.path="MY_sapjco_folder"
Run Code Online (Sandbox Code Playgroud)

我的其他Jco包,com.sap.conn.*被正确识别.

谁能告诉我我错过了哪一部分?

提前谢谢了!

macos sap jco

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

对performSelector的保留计数的影响:withObject:afterDelay:inModes

一个简单的程序:

-(void)doSomething {

 NSLog(@"self rc=%d", [self retainCount]);

 [self performSelector:@selector(doMe:) withObject:nil afterDelay:0 inModes:[NSArray arrayWithObject:NSDefaultRunLoopMode]];

 NSLog(@"self rc=%d", [self retainCount]);
}

-(void)doMe:(id)object {

 NSLog(@"i'm done");

 NSLog(@"self rc=%d", [self retainCount]);

}
Run Code Online (Sandbox Code Playgroud)

输出:

self rc=1

self rc=2

i'm done

self rc=2
Run Code Online (Sandbox Code Playgroud)

为什么保留计数增加到并保持在2?

memory-management objective-c

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

核心图像过滤器适用

我如何应用我申请的CIToneCurve过滤器

  filter= [CIFilter filterWithName:@"CIScreenBlendMode"];
     [filter setValue:beginImage1 forKey:kCIInputImageKey];
     [filter setValue:beginImage forKey:@"inputBackgroundImage"];
Run Code Online (Sandbox Code Playgroud)

使用这种方法的不同过滤器现在我想应用CIToneCurve我应该如何应用这些参数

inputImage 一个CIImage类,其显示名称为Image.

inputPoint0 一个CIVector类,其属性类型为CIAttributeTypeOffset,其显示名称为Point 1.默认值:[0,0]标识:[0,0]

inputPoint1 一个CIVector类,其属性类型为CIAttributeTypeOffset,其显示名称为Point 2l.默认值:[0.25,0.25]标识:[0.25,0.25]

inputPoint2 一个CIVector类,其属性类型为CIAttributeTypeOffset,其显示名称为Point 3l.默认值:[0.5,0.5]同一性:[0.5,0.5]

inputPoint3 一个CIVector类,其属性类型为CIAttributeTypeOffset,其显示名称为Point 4.默认值:[0.75,0.75]标识:[0.75,0.75]

inputPoint4 一个CIVector类,其属性类型为CIAttributeTypeOffset,其显示名称为Point 5.默认值:[1,1]标识:[1,1]

我写这些但我的应用程序崩溃没有给出任何错误

iphone objective-c core-image ios ios5

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

我需要在Swift中设置一个C结构吗?

AFAIK,在swift中,调用类/结构的默认初始化器会将所有内容初始化为0,nil.在C(例如套接字编程)中,有时memset用于在使用struct之前将所有内容设置为0.我是否需要在swift中使用memset,或者我写它的方式很好?

(BTW,在这种情况下memset使用是因为hints除了2个参数以外应该设置为0.非0(垃圾等)res在调用时会产生副作用getaddrinfo.

C:

struct addrinfo hints, *res;
int status;

memset(&hints, 0, sizeof hints);
hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;

status = getaddrinfo(NULL, MYPORT, &hints, &res);
Run Code Online (Sandbox Code Playgroud)

迅速:

var res = UnsafeMutablePointer<addrinfo>()
var hints = addrinfo()
hints.ai_family = AF_UNSPEC
hints.ai_socktype = SOCK_STREAM

let status = getaddrinfo(nil, MYPORT, &hints, &res)
Run Code Online (Sandbox Code Playgroud)

c struct memset swift

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

专业的词典扩展

如何声明仅适用于特定类型的扩展?

我试过这个:

extension Dictionary where
    Key : CustomStringConvertible,
    Value: CustomStringConvertible
{
    func queryString() -> String {
        var paramArray = Array<String>()
        for (key, value) in self {
            paramArray.append("\(key.description)=\(value.description)")
        }
        return "&".join(paramArray)
    }
}
Run Code Online (Sandbox Code Playgroud)

它编译得很好.但是当我尝试使用它时

var d = Dictionary<String, String>()
var q = d.queryString() // <-- ERROR 
Run Code Online (Sandbox Code Playgroud)

我收到错误:

不能在没有参数的情况下调用'queryString'

这有什么不对?我希望能够调用queryString一个词典,但只有在它的时候Dictionary<String, String>

任何帮助都非常感谢.

编辑

正如@jtbandes所说,String不符合CustomStringConvertible.CustomStringConvertible Protocol Reference建议使用String()构造函数来获取字符串,而不是使用协议作为约束.

注意:String(实例)将适用于任何类型的实例,如果实例恰好是CustomStringConvertible,则返回其描述.因此,不鼓励使用CustomStringConvertible作为通用约束或直接访问符合类型的描述.

extension Dictionary {
    public func queryString() -> String {
        var paramArray = Array<String>()
        for …
Run Code Online (Sandbox Code Playgroud)

generics swift

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

在矢量中存储对象

是否有可能没有专门的矢量?

我的问题是:我有一个抽象类N4GestureRecognizer和它的几个子类.所以在一个Controller类中我想要一个vector<N4GestureRecognizer> recognizers_但是因为它是抽象的我不能.如何将这个识别器存储在矢量或集合或列表中,或者在标准c ++中可以循环使用?

c++ libstdc++

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

如何在drawRect中使用CGContextDrawPath等绘制的路径的填充颜色设置动画:?

我想知道是否可以使用CoreGraphics为我绘制的路径的填充颜色设置动画?我正在绘制这个: 使用Quartz - Core Graphics进行简单绘图

我想从白色改变它的填充颜色,让我们说灰色.这可能吗?

我知道view.layer.content属性的存在,但这在这里有用吗?虽然,我不知道在这种情况下如何使用它.

提前致谢.

更新

我正在尝试这种方法(它的错误,因此我可以告诉它是否会起作用)基本上我正在创建一个CGImageRef并将其传递给self.layer.contents,它可以使用UIView动画制作动画,但是......我得到了奇怪的结果,除了不是动画.

int bitsPerComponent = 8;
int channels = 4;
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
void *data = malloc(self.bounds.size.width*self.bounds.size.height*channels);

CGContextRef context = CGBitmapContextCreate(data,                      //pointer to data
                                             self.bounds.size.width,    //width
                                             self.bounds.size.height,   //height
                                             bitsPerComponent,          //bitsPerComponent
                                             self.bounds.size.width*channels,//bytesPerRow
                                             colorSpace,                    //colorSpace
                                             kCGImageAlphaPremultipliedFirst);  //bitmapInfo

//method that uses below link's code
[self _drawBackgroundInContext:context color:UIColorFromMandalaBoxType(type)];

CGDataProviderRef dataProvider = CGDataProviderCreateWithData(NULL,         //info, NULL
                                                              data,         //pointer to data
                                                              self.bounds.size.width*self.bounds.size.height*channels, //number of bytes
                                                              NULL);        //release callback


CGImageRef image = CGImageCreate(self.bounds.size.width,            //width
                                 self.bounds.size.height,         //height
                                 bitsPerComponent,                //bitsPerComponent
                                 bitsPerComponent*channels, …
Run Code Online (Sandbox Code Playgroud)

iphone core-animation core-graphics

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

NSWindow底角圆润

我已经将NSWindow子类化了,所以我可以做一些调整并有一个自定义窗口.其中之一是使底角变圆但尚未成功.

我试过这个但是我的窗口没有标准的状态栏它没有用.我希望这是可能的;)

提前致谢

macos cocoa objective-c nswindow

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

了解Objective C/Leak的引用计数

我是iPhone的新编程.我写了一个小应用程序.应用程序的一部分在模拟器中正常运行.我不明白以下几点:

分析仪不同意该代码."方法返回一个具有+1保留计数的Objective-C对象(拥有引用)"他说.

有人帮助我吗

谢谢...

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
 if ([elementName isEqualToString:@"item"]) {
  [item setObject:currentTitle forKey:@"name"];
  [item setObject:currentAutor forKey:@"descr"];
  [item setObject:currentContact forKey:@"contact"];

  [rssArray addObject:[item copy]];

  NSLog(@"Nachricht: %@", currentTitle);
  [item release];

 }
 [rssArray release];
}
Run Code Online (Sandbox Code Playgroud)

iphone objective-c

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

如何将两个水平div放在垂直div旁边?

我想把我的东西对齐为:

????????????????????????????????????????
? No ?  Some possible long content     ?
?    ???????????????????????????????????
?    ?  Not so long stuff              ?
????????????????????????????????????????
Run Code Online (Sandbox Code Playgroud)

使用表将使用5分钟,rowspan=2但使用div我不知道从哪里开始.我认为应该使用div,因为这不是表格数据.只是一种布局计数器的方式,一种可能的单独标题及其副标题(不长):

<div id="container">
    <div class="div1">No</div>
    <div class="div2">Some possible long content</div>
    <div class="div3">Not so long stuff</div>
</div>
Run Code Online (Sandbox Code Playgroud)

1宽度是常量但其高度应该是23高度的总和. 3始终包含一行代码但2可能包含多1行.

任何帮助表示赞赏

html css

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