我目前正在开发我正在使用的 SwiftUI 应用程序SceneDelegate
和AppDelegate
. 我想知道我可以在生命周期的转换UIKit
到SwiftUI
一个地方有一个App
结构,并用scenes
等。
另外我想知道如何满足 CoreData 和 PersistentContainers 并将它们注入我们的环境。
我也曾经UIApplicationDelegateAdapter
注射过,AppDelegate
但@main
它给了我错误
'main()' 仅在 iOS 14.0 或更新版本中可用
我@available (iOS 14.0, *)
在开始时使用:
import SwiftUI
@available(iOS 14.0, *)
@main
struct MyApp: App {
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
Run Code Online (Sandbox Code Playgroud)
这样做,SceneDelegate
代码去哪儿了。我仍然很困惑这种转换是如何进行的。我还没有看到 Apple 在他们的会议或任何事情中谈论过这个问题。帮助将不胜感激。
我在屏幕上有一些文字:
Text("someText1")
Run Code Online (Sandbox Code Playgroud)
是否可以在不创建大量文本项目的情况下突出显示/选择部分文本
我的意思是
Text("som") + Text("eTex").foregroundColor(.red) + Text("t1")
Run Code Online (Sandbox Code Playgroud)
不是我的解决方案
最好有某种修饰符以某种方式突出显示文本的一部分。类似于:
Text("someText1").modifier(.highlight(text:"eTex"))
Run Code Online (Sandbox Code Playgroud)
是否可以?(我的意思是没有创造很多观点)
我正在研究核心数据与3个实体(班级,学生,ExamRecord)及其关系区域:
Class<------>> Students <------> ExamRecord
Run Code Online (Sandbox Code Playgroud)
我创建了一个谓词,用于获取第5课的学生列表.
NSString * fmt2 = @"studentsToClass.className=%@";
NSPredicate * p2 = [NSPredicate predicateWithFormat:fmt2,@"5th",nil];
Run Code Online (Sandbox Code Playgroud)
有了这个,我得到了所有第5班的学生
现在我还想对学生提取的另一个过滤器.
获取考试记录"结果"为"通过"的学生.result是ExamResult实体中学生的属性
我如何在此使用复合谓词?
如果我错了,请纠正我
任何帮助将不胜感激
谢谢
使用来自docs的apple示例
float (^oneFrom)(float);
oneFrom = ^(float aFloat) {
float result = aFloat - 1.0;
return result;
};
Run Code Online (Sandbox Code Playgroud)
我收到两个错误:
也来自doc ..
如果没有显式声明块表达式的返回值,则可以从块的内容中自动推断出它.如果推断返回类型并且参数列表为void,那么您也可以省略(void)参数列表.如果或当存在多个return语句时,它们必须完全匹配(必要时使用cast).
我有一个网址说:www.gmail.com/index.php
.我也有三个不同的字符串说aa
,bb
和cc
.我想将三个单独的字符串附加到url,以便在Objective C中获得组合url,即我想要的www.gmail.com/index.php/aa/bb/cc
.有人可以帮我吗 ??我是客观C的新手.谢谢.
我想在 Objective c 中使用正则表达式检查字符串。我的代码
NSString *regexAmazonOrder =@"[a-zA-Z0-9]*";
NSPredicate *predicateAmazonOrder = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regexAmazonOrder];
if([predicateAmazonOrder evaluateWithObject:cardNumber.text])
{
NSLog(@"Its coming inside AMAZON ORDER EVALUATIONS");
...
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用。帮帮我。我知道这很简单,但是却让我心碎!!!谢谢
我试图限制对象数组,以[NSArray filteredArrayUsingPredicate]
获得更好的性能.
我的代码:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF.Name contains[c] %@", searchText];
NSArray *filteredArray = [self.dataArray filteredArrayUsingPredicate:predicate];
Run Code Online (Sandbox Code Playgroud)
我dataArray
包含大约30.000个对象,我想限制结果数组50.(我发现50匹配后我需要一些break语句.)我怎样才能实现这个目标?
所以我的导航控制器中有一个设置栏按钮项,当从家庭视图控制器按下时,会在家庭视图上打开设置vc透明视图,因此家庭vc仍然可以在设置vc后面看到.我希望导航栏仍然显示,所以在"HomeViewController.h"中我有以下代码:
-(IBAction)settingsButtonPressed:(id)sender{
SettingsViewController *settings = [[SettingsViewController alloc]init];
[self.navigationController.view addSubview:settings.view];
}
Run Code Online (Sandbox Code Playgroud)
当我想删除设置视图时,在"SettingsViewController"中我尝试了:
-(IBAction)exitSettings:(id)sender{
[self.navigationController.view removeFromSuperview];
}
Run Code Online (Sandbox Code Playgroud)
但是,当我这样做并尝试运行程序时,程序停止,而在调试区域,它只是说
Thread 1: EXC_BAD_ACCESS (code = 2, address=0xb0000008)
(lldb)
Run Code Online (Sandbox Code Playgroud)
我做错了什么,如何解决这个问题?
嗨,在我的一个应用程序中,我有一个包含一组NSMutableDictionary
对象的数组.字典对象有三个键值对,如下所示
并且阵列具有许多对象.现在,通过使用不同的添加按钮,我将这些字典对象添加到数组中.即使在向数组添加对象时,我也在使用NSNotFound
方法检查是否有任何重复对象可用.如下
if([Array indexOfObject:dicObject] == NSNotFound)
{
[Array addObject:dicObject];
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下它在少数情况下工作正常,但它在其他情况下不起作用.我将用一个例子解释:
例如,我在阵列中有一个带有以下键值对的dicobject
company:XYZ Product:ABC Quantity:2
现在,例如,我想添加一个具有相同上述键值对的dic对象.那个时候显然它不会添加,因为已经有相同的产品在阵列中可用.
这是有效的条件.
例外情况:例如,我想添加一个具有以下值的产品
Company:XYZ Product:ABC Quantity:6
Run Code Online (Sandbox Code Playgroud)
在这种情况下,此产品将添加到阵列中,没有任何错误.但我担心的是我不想再将数据添加到数组中,只需要更新数量,因为公司和产品名称都是相同的.那么请告诉我处理这种情况的方法.
我有一个UICollectionView有一堆单元格.当我选择这些单元格时,它们会改变颜色,看起来好像已经明确选择了,我将hashtag.hashtag_name(String)附加到我的hashtagsArray.如果我点击一个类别(时尚,食物,爱好或音乐),我会将另一个数组附加到该索引路径,以便为用户提供该特定类别的单元格,如下图所示.
我想要的是,如果我将已经SELECTED的单元格点击为UNSELECT它,那么hashtag.hashtag_name将从我的hashtagArray中删除.问题是,当我将其添加到hashtagArray中时,我添加的数组的indexPath与数组indexPath完全不同,因此我无法通过调用将其删除self.hashtagArray.remove(Int)
.这是我的代码......
import UIKit
class Hashtag: NSObject {
var hashtag_name: String?
var hashtag_color: String?
}
import UIKit
private let reuseIdentifier = "Cell"
class HashtagView: UICollectionViewController, UICollectionViewDelegateFlowLayout {
var hashtagArray: [String] = []
var categoriesArray = [Hashtag]()
var fashionArray = [Hashtag]()
var isFashionSelected: Bool = false
var fashionArrayCount: [Int] = []
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController?.navigationBar.tintColor = .white
navigationItem.title = "Hashtag"
self.collectionView?.backgroundColor = .white
self.collectionView?.register(HashtagCell.self, forCellWithReuseIdentifier: reuseIdentifier)
self.collectionView?.contentInset = UIEdgeInsetsMake(10, 0, 0, 0)
handleFetchCategories()
handleFetchFashionHashtags()
}
func insertCategoryAtIndexPath(element: …
Run Code Online (Sandbox Code Playgroud) ios ×5
objective-c ×5
iphone ×4
core-data ×2
nspredicate ×2
swift ×2
swiftui ×2
appdelegate ×1
arrays ×1
ipad ×1
regex ×1
swift3 ×1
view ×1
xcode ×1
xcode12 ×1