小编tra*_*uan的帖子

类'ViewController'在swift中没有初始化器

当我这样做时,从编译器获得投诉

class ViewController: UIViewController {

    var delegate : AppDelegate
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        //self.appDelegate = UIApplication.sharedApplication().delegate;

    }

    @IBAction func getData(sender : AnyObject) {

    }

    @IBAction func LogOut(sender : AnyObject) {
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我只是添加AppDelegate的末尾,如下所示,错误消失了.

class ViewController: UIViewController {

    var delegate : AppDelegate?
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        //self.appDelegate = UIApplication.sharedApplication().delegate; …
Run Code Online (Sandbox Code Playgroud)

swift xcode6 swift-playground

120
推荐指数
5
解决办法
12万
查看次数

无法从Objective-C访问Swift类型的属性

我试图Double?从Objective-C 访问Swift类的属性.

class BusinessDetailViewController: UIViewController {

    var lat : Double?
    var lon : Double?

    // Other elements...
}
Run Code Online (Sandbox Code Playgroud)

在另一个视图控制器中,我试图访问lat如下:

#import "i5km-Swift.h"
@interface ViewController ()

@property (strong, nonatomic) BusinessDetailViewController *businessDetailViewController;

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.businessDetailViewController = [[BusinessDetailViewController alloc] initWithNibName:@"BusinessDetailViewController" bundle:nil];
    self.businessDetailViewController.lat = businessArray[1]; /* THIS GIVES ME AN ERROR */
}
Run Code Online (Sandbox Code Playgroud)

我正在接受

在'BusinessDetailViewController*'类型的对象上找不到属性'lat'

为什么我不能访问这个属性?我错过了什么?

types objective-c swift objective-c-swift-bridge

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

dispatch_get_global_queue vs dispatch_get_main_queue

开始学习核心数据和dispatch_async.有一段代码可以从数据集中获取图像的url,并将其设置为核心数据的模型,如下所示

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
                NSString *urlString = [[[photoDictionary valueForKey:@"images"] objectAtIndex:0] valueForKey:@"url"];
                NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:urlString]];
                dispatch_async(dispatch_get_main_queue(), ^{
                    [photoModel setValue:imageData forKey:@"photoImageData"];
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释为什么我们使用dispatch_get_global_queue外部dispatch_async和dispatch_get_main_queue内部dispatch_async.

objective-c grand-central-dispatch ios

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

什么是对象的参数,nsnotification addObserver

我的一个名为Message.m的类正在发布一个带有对象的通知,sentObject如下所示

NSDictionary *sentObject = [NSDictionary dictionaryWithObjectsAndKeys:draftData.arr,@"data", nil];

//Post notification to inform a receiver to reload data     
[[NSNotificationCenter defaultCenter] postNotificationName:@"reloadDuringSave" object:self userInfo:sentObject];
Run Code Online (Sandbox Code Playgroud)

DraftData.m将成为捕获通知的接收者,如下所示

[[NSNotificationCenter defaultCenter] addObserver:self 
                                         selector:@selector(dataReloaded:) 
                                             name:@"reloadDuringSave" 
                                           object:nil];
Run Code Online (Sandbox Code Playgroud)

对于发布通知,userInfo可以是nil 或可以是object(如本例中的sentObject类型NSDictionary).

===> :什么都别params用于在objectaddObserver方法.它可以不是零,它们是什么......

iphone nsnotificationcenter

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

如果我嵌套了dispatch_async调用,会发生什么?

这可能是一个愚蠢的问题,但我需要为自己提出并清楚这一点.

要将块提交到队列以供执行,请使用函数dispatch_syncdispatch_async.它们都将队列和块作为参数.dispatch_async立即返回,异步运行块,同时dispatch_sync执行块直到提供的块返回.以下是一些情况:

情况1

dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0ul);    
dispatch_async(queue, ^{
    [self goDoSomethingLongAndInvolved];
    dispatch_async(queue, ^{
        NSLog(@"this is statement1");

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

情况2

dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0ul);    
dispatch_sync(queue, ^{
    [self goDoSomethingLongAndInvolved];
    dispatch_sync(queue, ^{
        NSLog(@"this is statement1");

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

情况3

{
    [super viewDidLoad];
    dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0ul);    
    dispatch_async(queue, ^{
        [self goDoSomethingLongAndInvolved];
        dispatch_sync(queue, ^{
            NSLog(@"this is statement1");

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

情况4

{
    [super viewDidLoad];
    dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0ul);    
    dispatch_sync(queue, ^{
        [self goDoSomethingLongAndInvolved];
        dispatch_async(queue, ^{
            NSLog(@"this …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c grand-central-dispatch ios objective-c-blocks

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

UITableView在顶部有一个差距

我不确定现在问这个问题是否合适.我在表视图上使用Xcode 5(预览版).现在的问题是,如果我的表视图被选中,那么group我在第一个单元格和表格的上边缘之间存在间隙.

适用于uitable视图委托的代码如下

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return 8;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *simpleTableIdentifier = @"SimpleTableItem";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];

    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
    }

    cell.textLabel.text = [NSString stringWithFormat:@"cell %d",indexPath.row];
    return cell;
}
Run Code Online (Sandbox Code Playgroud)

当我选择groupxib 时,下面的图片

在此输入图像描述

但是,如果我切换到plain,表是正常的

在此输入图像描述

对这种情况有任何想法.我用Google搜索,但似乎没有任何东西.欢迎任何帮助.

objective-c uitableview ios ios7 xcode5

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

"应用程序不在后台运行"的含义

在Plist中,其中一个设置是

应用程序不在后台运行-------> YES

难道应用程序在后台运行.之后应用程序会发生什么......

iphone ios

13
推荐指数
2
解决办法
7287
查看次数

我应该在哪里把removeObserver放在AppDelegate.m,ios中

我的AppDelegate类已注册特定通知,如下所示

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

    {

        [[NSNotificationCenter defaultCenter] addObserver:self
                                                 selector:@selector(applyThemeA:)
                                                     name:@"ThemeA"
                                                   object:nil];

    }
Run Code Online (Sandbox Code Playgroud)

并且applyThemeA做(只是不多)

- (void)appleThemeA:(NSNotification*)notification {
    NSLog(@"apply themeA");
}
Run Code Online (Sandbox Code Playgroud)

我将removeObserverapplicationWillTerminate,但不能确定它是它的一个好办法.

这是放置此方法的好地方吗?

我只是想确保我做得对.如果问题不合适,请不要投票.请告诉我.谢谢

objective-c nsnotificationcenter ios

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

Interface Builder文件中的未知类ZBarReaderView

我正在努力ZBarReader并得到一个错误

ZBarReaderViewInterface Builder文件中的未知类

[UIView setReaderDelegate:]:无法识别的选择器发送到实例0x6859f20

请查看此处或下方的附加图像,以便您可以了解到目前为止我正在做的事情: -

在此输入图像描述

在故事板中,我有一个视图,它的自定义类是ZBarReadView.我也用IBOutlet头文件连接它.在m文件中,我这样做

viewReader.readerDelegate = self;

在此之后显示错误.

任何人都可以指出我搞砸了......

iphone ios

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

是否可以通过nsnotification将数组作为obj传递

我可以通过使用协议和委托来做到这一点,但我想尝试使用NSNotification

我的任务是NSMutableArray从一个视图向另一个视图发送一个via通知.有可能吗?

[[NSNotificationCenter defaultCenter] postNotificationName:@"reloadData" object:myArray];
Run Code Online (Sandbox Code Playgroud)

然后,在接收器中,我如何获得传递的myArray.我在阅读和困惑的userInfoobject通知的对象.

请就此问题向我提出建议.

iphone nsnotifications ios

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