小编Dai*_*jan的帖子

关闭通过模态segue显示的视图

我手动调用segue(设置为模态),以便使用具有以下代码行的Storyboard在Xcode 4.2中显示登录表单:

[self performSegueWithIdentifier:@"LoginSegue" sender:nil];
Run Code Online (Sandbox Code Playgroud)

我可能遗漏了一些非常简单的东西,但是我找不到以编程方式关闭登录视图并返回上一个视图的方法.

该视图是导航视图控制器的一部分,因此将segue类型设置为"push"允许我使用后退按钮将我发送回我之前的屏幕,但在"模态"模式下,我不完全确定如何实现这一点(例如按下按钮后)

任何帮助将非常感激.

cocoa-touch objective-c ios uistoryboard

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

Swift数组并包含,如何确定集合是否包含对象或值?

我再次使用swift数组和仅由NSArray提供的containsObject!

我将swift数组桥接到NSArray,包含:

extension Array {
    func contains(object:AnyObject!) -> Bool {
        if(self.isEmpty) {
            return false
        }
        let array: NSArray = self.bridgeToObjectiveC();
        return array.containsObject(object)
    }
}
Run Code Online (Sandbox Code Playgroud)

它一般工作正常,但只要我放一个字符串!在String类型的数组中,它崩溃了.尽管containsObject确实采用了AnyObject!

        var str : String! = "bla"
        var c = Array<String>();
        c.append(str)
        println(c.contains(str))
Run Code Online (Sandbox Code Playgroud)

声明一个字符串!数组也没有帮助

        var str : String! = "bla"
        var c = Array<String!>();
        c.append(str)
        println(c.contains(str))
Run Code Online (Sandbox Code Playgroud)

但同样没有!工作正常

        var str : String = "bla"
        var c = Array<String>();
        c.append(str)
        println(c.contains(str))
Run Code Online (Sandbox Code Playgroud)

那怎么我明确包装东西?我真的不明白为什么我必须明确地包装它,所以它是正确的解开,但这就是它的样子.

swift

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

MFMailComposeViewController马上解散

情况是MFMailComposeViewController将被呈现.我看到它已经完成了一半,但后来被解雇了.

这是错误:

_serviceViewControllerReady:error:Error Domain = _UIViewServiceInterfaceErrorDomain Code = 3"无法完成操作.(_UIViewServiceInterfaceErrorDomain error 3.)"

这是我提供MFMailComposeViewController的源代码:

-(void) MailExecute {
    if ([MFMailComposeViewController canSendMail]) 
    {
        MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init];   
        mailViewController.mailComposeDelegate = self;
        [mailViewController setSubject:NSLocalizedString(@"Check this new look", @"")];
        [mailViewController setMessageBody: @"my new look" isHTML:YES];

        [self presentModalViewController:mailViewController animated:YES];

        [mailViewController release];
    }
    else 
    {
        UIAlertView *alertInternal = [[UIAlertView alloc]
                                      initWithTitle: NSLocalizedString(@"Notification", @"")
                                      message: NSLocalizedString(@"You have not configured your e-mail client.", @"")
                                      delegate: nil
                                      cancelButtonTitle:NSLocalizedString(@"OK", @"")
                                      otherButtonTitles:nil];
        [alertInternal show];
        [alertInternal release];
    }
}
Run Code Online (Sandbox Code Playgroud)

奇怪的是,有时会发生,有时则不然.请帮帮我!我花了将近1个工作日来解决这个问题,但没有成功.

objective-c ios mfmailcomposer mfmailcomposeviewcontroller

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

CLLocationManager.authorizationStatus()始终使用swift&objC app确认CLAuthorizationStatus.NotDetermined

我只能让我的CLLocationManager进行授权.(在ios8下迅速)我甚至添加了一个显式的requestAlwaysAuthorization调用(在ios7下我不需要使用objC)

func finishLaunch() {
    //ask for authorization
    let status = CLLocationManager.authorizationStatus()
    if(status == CLAuthorizationStatus.NotDetermined) {
        self.locationManager.requestAlwaysAuthorization();
    }
    else {
        self.startMonitoring()
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

回调永远不会得到任何东西,但NotDermined并没有向用户显示UIAlertView.

func locationManager(manager: CLLocationManager!, didChangeAuthorizationStatus status: CLAuthorizationStatus) {
    if(status == CLAuthorizationStatus.NotDetermined) {
        println("Auth status unkown still!");
    }
    self.startMonitoring()
}
Run Code Online (Sandbox Code Playgroud)

我做错了吗? - 对我来说感觉像个臭虫,但我想要一些反馈

cllocationmanager swift ios8

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

我该如何做indexOfObject或一个合适的containsObject

对于数组:我该怎么做indexOfObject或正确的containsObject

我的意思是我知道我可以将数组桥接到NSArray那里并在那里做^^
但是必须有一种"原生"方式来做到这一点

PS containsObject我想我可以过滤数组但是对于indexOf

arrays ios swift

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

如何让我的Ionic按钮刷新所有离子视图.(大多数情况下只需重新评估ng-switch)

在我看来,我有一个ng-switch喜欢:

<div ng-switch on="team.isFavorite">
    <button class="button button-energized snbutton" ng-switch-when="false" ng-click="makeTeamFavorite()">
      Show team on dashboard
    </button>
    <p class="snmsg" ng-switch-default>
      This team is shown on the dashboard
    </p>
</div>
Run Code Online (Sandbox Code Playgroud)

如何让我的Ionic按钮刷新所有离子视图.在大多数情况下,
最好只重新评估a ng-switch,在1重新加载一切)

我在我的控制器中尝试了什么:

.controller('List-PeopleCtrl', function($ionicHistory, $state, $scope, $stateParams, Teams) {
  $scope.makeTeamFavorite = function() {
      Teams.setFavoriteId($stateParams.teamId);
      $ionicHistory.clearCache();
      $state.go($state.current);
  }
  $scope.team = Teams.get($stateParams.teamId);
  $scope.team.isFavorite = Teams.getFavoriteId()==$stateParams.teamId;
  $scope.people = Teams.members($stateParams.teamId);
})
Run Code Online (Sandbox Code Playgroud)

它会使我猜的所有缓存无效,但它无论如何都不起作用:D

注意

  • 我搜索但没有找到任何可以做到这一点..
  • 我不想用我的离子视图标记cache=false并选择退出所有缓存
  • 认为这是离子特异性的,但可能是我对AngularJS缺乏了解:D
  • 关键是当我再次打开视图时它可以工作(没有清除缓存)..只是在看到它时没有重新加载

编辑:我也试过:

      $ionicHistory.clearCache();
      $state.go($state.current, {}, { reload: true });      
Run Code Online (Sandbox Code Playgroud)

要不就

      $state.go($state.current, …
Run Code Online (Sandbox Code Playgroud)

html javascript angularjs angular-ui-router ionic

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

Xcode似乎没有执行我的方案的后期行动

我正在使用Xcode(4.6.2),我的目标是外部构建工具.自动生成的方案在构建期间调用就好了.

在RUNNING上,我希望该方案执行另一个shell脚本.这不直观,但我通过设置/bin/bash为可执行文件并将我的脚本作为参数传递来管理它.

剩下的唯一一步是我想在运行后执行另一个脚本.在这里,我认为这很简单,只是试图将其设置为后期行动.

但无论如何,我都无法让xcode执行我的动作后脚本.无论它是什么.我echo hi > /tmp/testfile甚至试过......

我需要采取后期行动来进行一些清理.


简而言之:

  1. 我有一个脚本build_me,这是我的外部构建工具
  2. 我有一个脚本run_me,我设置我的计划运行
  3. 我有一个脚本cleanup,我希望在行动后运行

无法让Xcode运行我的动作后脚本或任何.

bash xcode

17
推荐指数
2
解决办法
7021
查看次数

从AnyObject(NSString)获取String

我正在读一个plist键(NSArray和n NSDictionaries):

    let regionsToMonitor = NSBundle.mainBundle().infoDictionary["Regions"] as Array<Dictionary<String,AnyObject>>
Run Code Online (Sandbox Code Playgroud)

现在我迭代它:

    for regionToMonitor in regionsToMonitor {
Run Code Online (Sandbox Code Playgroud)

现在我想得到regionToMonitor的uuidString

在ObjC: NSString *uuidString = regionToMonitor[@"uuidString"];

在swift我尝试: let uuidString = regionToMonitor["uuid"]!.stringValue;

以上编译但字符串始终nil处于快速状态.regionToMonitor["uuid"]没有时使用!.stringValue可以正常工作println

我如何在这里获得有效的Swift.String?

我想把它传递给NSUUID!


我也试过了

let uuidString:String = regionToMonitor["uuid"]
=> AnyObject不能转换为String

let uuidString = regionToMonitor["uuid"] as String
=>找不到接受提供的参数的'下标'的重载

let uuidString = regionToMonitor["uuid"];
>'AnyObject?' 不能隐含地向下转换为'String'; 你的意思是用'as'强迫低垂?

nsstring ios swift

17
推荐指数
2
解决办法
5万
查看次数

数组索引超出界限问题(NSRangeException) - [NSManagedObjectContext save:]

我的iOS应用程序只是崩溃与NSRangeException-[NSManagedObjectContext save:].在任何地方找不到任何其他帮助.我该如何解决这个问题?我没有任何内存地址或任何我可以使用的内容......

2015-04-22 14:16:38.078 heavenhelp[33559:1734247] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 6 beyond bounds [0 .. 5]'
*** First throw call stack:
(
    0   CoreFoundation                      0x0167f746 __exceptionPreprocess + 182
    1   libobjc.A.dylib                     0x00f40a97 objc_exception_throw + 44
    2   CoreFoundation                      0x01553b73 -[__NSArrayM objectAtIndex:] + 243
    3   CoreData                            0x00859cf3 -[NSSQLCore recordToManyChangesForObject:inRow:usingTimestamp:inserted:] + 2531
    4   CoreData                            0x00856a0b -[NSSQLCore _populateRow:fromObject:timestamp:inserted:] + 2923
    5   CoreData                            0x00776e24 -[NSSQLCore prepareForSave:] + 1764
    6   CoreData                            0x00775e3d -[NSSQLCore saveChanges:] + …
Run Code Online (Sandbox Code Playgroud)

xcode sigabrt ios appdelegate swift

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

如何在将其连接到Xcode时通过密码自动解锁受保护的IOS设备

我的iPhone上有密码密码,每当我想尝试我的新版本时,我必须手动卸载设备.是否可以自动从Xcode解锁设备?像将密码插入钥匙串的东西.谢谢回复.

xcode

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