小编hyp*_*ypt的帖子

如果IBOutlets在ARC下是强还是弱?

我正在使用ARC专门为iOS 5开发.应该IBOutlets UIView(和子类)是strongweak

下列:

@property (nonatomic, weak) IBOutlet UIButton *button;
Run Code Online (Sandbox Code Playgroud)

将摆脱所有这一切:

- (void)viewDidUnload
{
    // ...
    self.button = nil;
    // ...
}
Run Code Online (Sandbox Code Playgroud)

这样做有什么问题吗?模板正在使用strong,当从"Interface Builder"编辑器直接连接到标题时创建的自动生成属性,但为什么?在UIViewController已经有一个strong到其基准view保留其子视图.

cocoa-touch objective-c interface-builder ios automatic-ref-counting

542
推荐指数
10
解决办法
12万
查看次数

分析iOS中的Assets.car文件

我试图减少目前48MB的iOS应用程序的整体大小.当我分析子文件夹时,我发现Assets.car占用了41MB.我无法打开并看到哪一个占用了那么多空间.

我找不到有关Assets.car文件的任何好文档.有人可以建议如何查看内容吗?

iphone ios ios6 ios7

67
推荐指数
4
解决办法
4万
查看次数

从NSString创建SHA1哈希

如何从a创建SHA1 NSString.

假设NSString设置为:

NSString *message = @"Message";
Run Code Online (Sandbox Code Playgroud)

我可以使用PHP创建一个SHA1哈希sha($message).但不幸的是,它在Objective-C中并不像那样.

hash xcode sha1 objective-c

42
推荐指数
4
解决办法
4万
查看次数

核心数据 - 如何获取具有最大值属性的实体

我有一个Person属性的实体personId(personId是唯一的)

如何获取max personId的Person?

(我想取这个人本身而不是财产的价值)

iphone core-data objective-c nsfetchedresultscontroller ios

37
推荐指数
4
解决办法
2万
查看次数

当应用程序处于后台时,如何让我的AVPlayer播放?

我已经完成了我的作业......一直在这里阅读,文档,谷歌搜索,stackoverflowing ...但是当用户让应用程序进入后台时,仍然没有运气使我的声音棒.

到目前为止我做了什么:在plist文件中添加了UIBackgroundModes,音频.

首先这段代码:

radioAudio = [[AVAudioSession alloc] init];
[radioAudio setCategory:AVAudioSessionCategoryPlayback error:nil];
[radioAudio setActive:YES error:nil];
Run Code Online (Sandbox Code Playgroud)

然后这个:

NSString *radioURL = @"http://xxx.xxx.xxx/radio.m3u";
radioPlayer = [[AVPlayer playerWithURL:[NSURL URLWithString:radioURL]] retain];
Run Code Online (Sandbox Code Playgroud)

但是一旦用户点击主页按钮,我的声音就会消失.

我也找到了这个,但是还没有添加,但是我读过的一些东西说它不需要;

newTaskId = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:NULL];
     if (newTaskId != UIBackgroundTaskInvalid && bgTaskId != UIBackgroundTaskInvalid)
        [[UIApplication sharedApplication] endBackgroundTask: bgTaskId];
bgTaskId = newTaskId;
Run Code Online (Sandbox Code Playgroud)

现在我不知道我应该去哪里让我的AVPlayer让用户在手机上做其他东西时收听广播.我在带有4.2的iPhone 4上进行测试.构建它为4.0.

任何人有什么建议我应该做什么?

iphone background ios avplayer

29
推荐指数
4
解决办法
4万
查看次数

我在哪里可以找到在Xcode 5中运行iOS 7.0的非视网膜iPhone模拟器?

我在哪里可以找到在Xcode 5中运行iOS 7.0的非视网膜iPhone模拟器?

iphone ios ios7 xcode5

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

如何结合两个NSString?

我有以下两个NSString:

NSString *latitudeString, *longitudeString;

latitudeString = @"50.1338";
Run Code Online (Sandbox Code Playgroud)

longitudeString = @"8.91583";
Run Code Online (Sandbox Code Playgroud)

我想要获得的是一个NSString,如下所示:50.1338,8.91583.

我如何获得?谢谢

重要提示:我展示的价值仅仅是为了更好地理解,通常latitudeString并且longitudeString具有随机值.

iphone xcode objective-c nsstring ios

19
推荐指数
3
解决办法
3万
查看次数

iOS 5:您可以覆盖特定类中的UIAppearance自定义吗?

我正在构建一个包含许多视图控制器的应用程序:我有一个UITabBarController容纳4个UINavigationController.我希望所有导航栏都是我的自定义颜色,比如蓝色,我通过在我的app委托中执行此操作来实现:

[[UINavigationBar appearance] setTintColor:[UIColor blueColor]];
Run Code Online (Sandbox Code Playgroud)

但我也有一个特殊的视图控制器,它有一个地图,对于这个视图控制器,我想覆盖蓝色导航栏设置UIAppearance使其成为黑色不透明样式.我试过在里面调用它viewDidLoad:

self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
self.navigationController.navigationBar.translucent = YES;
Run Code Online (Sandbox Code Playgroud)

但没有任何反应.可以这样做还是我必须放弃UIAppearance并navigationBar为每个视图控制器手动设置属性?

objective-c ios xcode4 ios5

15
推荐指数
3
解决办法
8445
查看次数

将JSON解码为NSArray或NSDictionary

我希望解码下面的JSON数据:

{
    "content":
    [   
        {
            "1":"a",
            "2":"b",
            "3":"c",
            "4":"d",
            "mark":"yes"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

不确定是否将它放在NSArray或NSDictionary中

欢迎任何评论

json objective-c

11
推荐指数
1
解决办法
4万
查看次数

iOS - 如何在后台完成漫长的过程

我的应用将视频上传到Facebook.即使不耐烦的用户在上传过程中点击"主页"按钮,我也希望在后台完成上传.

经过一番阅读,我试过这个:

     UIBackgroundTaskIdentifier bti = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
         [[UIApplication sharedApplication] endBackgroundTask:bti];
     }];

     [fb requestWithGraphPath:@"me/videos"
                    andParams:params
                andHttpMethod:@"POST"
                  andDelegate:self];

     [[UIApplication sharedApplication] endBackgroundTask:bti]; 
Run Code Online (Sandbox Code Playgroud)

这项工作是用fb请求方法完成的.视频通过http连接上传到Facebook.这样可以正常工作,但如果您在上传过程中通过单击"主页"按钮来设置应用程序,则会暂停上载.如果您预览应用程序,则会继续上传.

我希望会发生的是上传将在后台完成.

有什么希望让它工作?我是否在整个beginBackgroundTask中做错了什么?以这种方式工作似乎太简单了,但这就是文档似乎所说的.

任何帮助,非常感谢.

- 约翰

cocoa-touch objective-c facebook-graph-api ios

9
推荐指数
2
解决办法
6169
查看次数