小编NSA*_*ict的帖子

水平制作动画标签(NSTextField)

我有一个NSTextField标签,显示一个字符串.如果标签的内容太大而无法一次显示,我想从右到左为该标签设置动画.

NSTimer到目前为止,我已经完成了这项工作,它确实有效,但这不是一个非常好的解决方案.标签显示在NSTextFieldCell表视图中.它们经常不同步,我猜它只占用了大量的CPU/GPU资源.

有另一种方法Core Animation可以做到这一点吗?

我已经尝试了图层,你可以在这里看到: CALayer和drawRect

但我也没办法.

我将衷心感谢您的帮助.

macos xcode cocoa objective-c nstextfield

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

如何以编程方式存储Facebook AppID密钥

正如我们所知道的Facebook SDK,我们应该在App Plist中提供URL类型FacebookAppID密钥.

我的问题是如何以编程方式存储它们而不必在plist中手动输入它们,就像在UIApplicationDelegate方法中一样didFinishLaunchingWithOptions.

我尝试设置它NSUserDefaults但它继续给出这个错误:

No AppID provided; either pass an AppID to init, or add a string valued key with the appropriate id named FacebookAppID to the bundle *.plist'
Run Code Online (Sandbox Code Playgroud)

我不知道为什么,但我猜Xcode存储密钥使用NSUserDefaults在其他地方默认的应用程序Plist.

有谁知道如何解决这一问题?

objective-c ios facebook-ios-sdk

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

如何初始化包含引用的结构?

我想为以下结构编写初始化器.

struct Foo {
    bar: &Bar
}
Run Code Online (Sandbox Code Playgroud)

它建议使用&TBox<T>的灵活性,这就是我要为这里.如果没有初始化器,您可以使用这样的结构.

{
    let bar = ...;
    let foo = Foo { bar: bar };

    // use foo    

    // dealloc bar and foo
}
Run Code Online (Sandbox Code Playgroud)

这有效.但我想&Bar在初始化器中分配.现在显然bar在堆栈上分配将无法工作,因为一旦初始化器返回它就超出了范围.所以我想我可以用Box.

fn new() -> Foo {
    let bar = Box::new(...);
    Foo { bar: &*bar }
}
Run Code Online (Sandbox Code Playgroud)

这也不起作用,因为我猜我们只是借用价值而不是转移所有权,bar一旦new返回仍然会解除分配.

Box在这种情况下,我是否被迫在结构中使用a ?

编辑

注意:需要引用的原因是因为Bar在我的情况下实际上是一个通用特征,因此大小可能会有所不同,这意味着堆栈上的分配将不起作用.

initialization lifetime rust

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

启动画面后,iPhone应用程序崩溃了

我的iPhone App在iOS 5上工作正常,但在iOS4上的Splashscreen之后崩溃了.(使用PhoneGap)(使用HockeyApp.net).

我是ios开发的新手.我开发了一个部署目标为4.0的ios应用程序.它完美地安装在iPad 2(os-5.1)和iPod touch([4g] os-5.0.1)上.它安装在iPhone 4(os-4.2.6)和iPod touch([2g] os-4.2.1)上但不能正常工作.它显示了闪屏,但在此之后崩溃了.我在代码中添加了自己的日志函数,发现在进入didFinishLaunchingWithOptions函数之前它已经崩溃了.

我正在使用HockeyApp.net下载ipa文件.我没有得到确切的问题,以下是我的AppDelegate.m文件.

AppDelegate.m: https://gist.github.com/4343470

崩溃报告:崩溃报告:https://gist.github.com/4343472

请帮我解决这个问题.先感谢您.

xcode objective-c crash-reports ios4 cordova

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

如何在uitableviewcell外添加图像

人们都在询问如何在Uitableview中添加图像.好吧,我想要相反,我怎样才能缩短细胞并在它前面添加图像?就像whatsapp-group-info-screen一样.(见图)

在此输入图像描述

cocoa-touch objective-c uitableview uiimage

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

无法将JSON放入NSDictionary中

我想把我的JSON变成一个NSDictionary.我正在做以下事情:

 NSData *innerData = [json objectForKey:@"data"];
                NSLog(@"Inner Description %@", innerData);

                NSError* error;
                NSDictionary* json = [NSJSONSerialization
                                      JSONObjectWithData:innerData 
                                      options:kNilOptions
                                      error:&error];
                NSLog(@"dict: %@",json);
Run Code Online (Sandbox Code Playgroud)

它一直在崩溃创建字典与此错误.

-[__NSCFDictionary bytes]: unrecognized selector sent to instance 0x1e8d6100
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

json objective-c nsdictionary

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

在沙箱中重新启动后访问同一文件

我的应用程序在下面读取iTunes的XML库文件

/Users/username/Music/iTunes/iTunes Music Library.xml
Run Code Online (Sandbox Code Playgroud)

但是,如果iTunes资料库存储在不同的硬盘上,则此文件也将存储.沙箱不允许我访问此文件,除非用户授予它.

这是使用a完成的NSOpenPanel.

但是,现在我必须要求用户每次打开应用程序时都有权访问此文件,这非常烦人.

有没有办法永久授予对特定文件的访问权限?

编辑

例如,如果您在另一个应用程序中打开一个文件,如果您退出该应用程序,该应用程序将再次打开相同的文件.像这样的东西会很有用.

macos cocoa sandbox objective-c

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

将NSNumber转换为16位的十六进制字符串

我必须转换NSNumber为十六进制字符串,如下所示:

return [NSString stringWithFormat:@"%llX", self.unsignedLongLongValue];
Run Code Online (Sandbox Code Playgroud)

不幸的是,这有时会给我一个字符串,就像93728A166D1A287它们应该在哪里093728A166D1A287,这取决于数字.

提示:领先0.


我也尝试过:

return [NSString stringWithFormat:@"%16.llX", self.unsignedLongLongValue];
Run Code Online (Sandbox Code Playgroud)

没有成功.


我可以这样做,但这很糟糕:

- (NSString *)hexValue {
    NSString *hex = [NSString stringWithFormat:@"%llX", self.unsignedLongLongValue];
    NSUInteger digitsLeft = 16 - hex.length;

    if (digitsLeft > 0) {
        NSMutableString *zeros = [[NSMutableString alloc] init];
        for (int i = 0; i < digitsLeft; i++) [zeros appendString:@"0"];
        hex = [zeros stringByAppendingString:hex];
    }

    return hex;
}
Run Code Online (Sandbox Code Playgroud)

所以最后我的问题是,有没有办法强制字符串为16个字符?

iphone macos cocoa objective-c nsstring

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

Podspec - 链接本地框架

我的应用程序使用本地框架/Library/Frameworks/iTunesLibrary.framework
然后我收到这些错误消息:

- ERROR | [xcodebuild]  someFile.h:10:9: fatal error: 'iTunesLibrary/ITLibrary.h' file not found
- ERROR | [OSX] [xcodebuild]  someFile.h:10:9: fatal error: 'iTunesLibrary/ITLibMediaItem.h' file not found
Run Code Online (Sandbox Code Playgroud)

我将以下行添加到我的podspec

s.framework = 'iTunesLibrary'
Run Code Online (Sandbox Code Playgroud)

但显然没有找到该框架,可能是因为它没有搜索/Library/Frameworks/.

我该如何解决这个问题?

macos objective-c cocoapods

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

将泛型类型转换为Any?

我有一个Box使用泛型参数调用的类T.

出于某种原因,在Swift中将Box<String>(或任何其他类型)强制转换为无效Box<Any>.

class Box<T> {}

var box: Box<Any>?
box = Box<String>() // 'String' is not identical to 'Any'
Run Code Online (Sandbox Code Playgroud)

在Java中,有一个?代表任何类型.(Box<?>)

我在斯威夫特可以做些什么?

generics swift

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