我手动调用segue(设置为模态),以便使用具有以下代码行的Storyboard在Xcode 4.2中显示登录表单:
[self performSegueWithIdentifier:@"LoginSegue" sender:nil];
Run Code Online (Sandbox Code Playgroud)
我可能遗漏了一些非常简单的东西,但是我找不到以编程方式关闭登录视图并返回上一个视图的方法.
该视图是导航视图控制器的一部分,因此将segue类型设置为"push"允许我使用后退按钮将我发送回我之前的屏幕,但在"模态"模式下,我不完全确定如何实现这一点(例如按下按钮后)
任何帮助将非常感激.
我再次使用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)
那怎么我明确包装东西?我真的不明白为什么我必须明确地包装它,所以它是正确的解开,但这就是它的样子.
情况是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个工作日来解决这个问题,但没有成功.
我只能让我的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)
我做错了吗? - 对我来说感觉像个臭虫,但我想要一些反馈
对于数组:我该怎么做indexOfObject或正确的containsObject?
我的意思是我知道我可以将数组桥接到NSArray那里并在那里做^^
但是必须有一种"原生"方式来做到这一点
PS containsObject我想我可以过滤数组但是对于indexOf?
在我看来,我有一个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并选择退出所有缓存编辑:我也试过:
$ionicHistory.clearCache();
$state.go($state.current, {}, { reload: true });
Run Code Online (Sandbox Code Playgroud)
要不就
$state.go($state.current, …Run Code Online (Sandbox Code Playgroud) 我正在使用Xcode(4.6.2),我的目标是外部构建工具.自动生成的方案在构建期间调用就好了.
在RUNNING上,我希望该方案执行另一个shell脚本.这不直观,但我通过设置/bin/bash为可执行文件并将我的脚本作为参数传递来管理它.
剩下的唯一一步是我想在运行后执行另一个脚本.在这里,我认为这很简单,只是试图将其设置为后期行动.
但无论如何,我都无法让xcode执行我的动作后脚本.无论它是什么.我echo hi > /tmp/testfile甚至试过......
我需要采取后期行动来进行一些清理.
简而言之:
build_me,这是我的外部构建工具run_me,我设置我的计划运行cleanup,我希望在行动后运行无法让Xcode运行我的动作后脚本或任何.
我正在读一个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'强迫低垂?
我的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) 我的iPhone上有密码密码,每当我想尝试我的新版本时,我必须手动卸载设备.是否可以自动从Xcode解锁设备?像将密码插入钥匙串的东西.谢谢回复.
ios ×5
swift ×5
xcode ×3
objective-c ×2
angularjs ×1
appdelegate ×1
arrays ×1
bash ×1
cocoa-touch ×1
html ×1
ionic ×1
ios8 ×1
javascript ×1
mfmailcomposeviewcontroller ×1
nsstring ×1
sigabrt ×1
uistoryboard ×1