Post

Replies

Boosts

Views

Activity

DataFlow from Swift to SwfitUI
I have the business logic in Swift class and built UI using SwiftUI. Below the high level code that shows how SwiftUI and its subview receives the data from Swift. Please let me know if its correct approach class SwiftClass{     var score = "1"     func A () {}          func B () {         // score will get updated frequently         let scoreModal =  ScoreUIViewModel()         let scoreUI: ScoreUI = ScoreUI(showModal: .constant(true), scoreUIViewModel: scoreModal)         DispatchQueue.main.async {             scoreUI.displayScoreUI()         }        // score getting updated from another class         scoreModal.score = score // score getting updated from another class         score  = "2"         scoreModal.score = "2" // score getting updated from another class         score  = "3"         scoreModal.score = "3" // score getting updated from another class        score  = "4"         scoreModal.score = "4"      .......              } } import SwiftUI class ScoreUIViewModel: Observable {     @Published score: String } struct ScoreUI: View {     @State var scoreUIViewModel: ScoreUIViewModel     func displayScoreUI() {         let hostController = UIHostingController(rootView: ScoreUI())         hostController = .overCurrentContext         topViewController()!.present(hostController, animated: true, completion: nil)     }.environmentObject(scoreUIViewModel)      } struct ScoreText: View {     @EnvironmentObject var scoreUIViewModel: ScoreUIViewModel     Text(score).foregroundColor(.green) }
3
0
796
Jul ’21
Passing delegate/protocol as function parameter
public protocol UploadDelegate: AnyObject {} class NetworkManager: UploadDelegate {} class A { B().abc(uploadDelegate:NetworkManager() ) } class B { func abc (uploadDelegate: UploadDelegate) { C().efg(uploadDelegate:uploadDelegate ) } } class C { func efg (uploadDelegate: UploadDelegate) { D().hij(uploadDelegate:uploadDelegate ) } } class D { func hij (uploadDelegate: UploadDelegate) { uploadDelegate.func() } } Can we pass the protocol/delegate as a func parameter? If yes, I believe its a weak property.
0
0
521
Jul ’21
Removing folder from .app
I am using "Excluded Source File Names" in Xcode build settings to remove a folder from IPA. The given relative path is correct but for some reason, the folder that needs to be excluded is still exists in the .app file. Any idea why Excluded Source File Names is not working. The folder that I am trying to remove is listed under "Copy Bundle Resources" Here is the path "$(SRCROOT)/../foldera/folderb/foldertoberemoved"
1
0
1.4k
Jul ’21
Passing Data to ViewModal
class A { func processData { let viewModel: ViewModal = ViewModal() let viewController = ViewController() viewController.displayUI(viewModel) .... .... .... .... viewModel.imageName = "abcd" .... .... .... .... viewModel.imageName = "efg" .... .... .... .... viewModel.imageName = "hij" } } class ViewController { func displayUI (viewModal: ViewModal){ let contentView = ContentView(viewModal: viewModal).environmentObject(self) // present contentView } } class ViewModal { @Published var imageName: String = ""   @Published var label: String = "" // string formatting } struct ContentView: View {  @State var viewModel: ViewModal  @EnvironmentObject var viewController: ViewController  var body: some View { } } Can class A directly access ViewModal or it should pass the data to ViewController and ViewController set the data in ViewModal
0
0
856
Jul ’21
Cannot convert value of type 'some View' to specified type ‘ContentView'
func displayUI () { let hostingController = UIHostingController(rootView: ContentView(ViewModel: contentViewModal).environmentObject(self)) } Above code works fine. I attempted to make the hostingController as instance variable instead of local variable and declared the hostingController outside of display function like this lazy var hostingController: UIHostingController = UIHostingController(rootView: ContentView()) and so I removed let keyword func displayUI () {  hostingController = UIHostingController(rootView: ContentView(ViewModel: contentViewModal).environmentObject(self)) } Once I remove the let keyword I started getting this error. Cannot convert value of type 'some View' to specified type ‘ContentView' Any idea why I am getting this error after removing let keyword declared before hostingController variable?
0
0
737
Aug ’21
How to wait until an object is removed from Array
I have declared an NSMutableArray and the count should not exceed 100. If some one calls addObject method to add an item to that array when the count is 100 then that method call should not be executed until someone removes an item so that count will go down below 100. Can we use semaphore or group dispatch for signaling or mutex/NSLock is recommended.
8
0
1.5k
Sep ’21
Concurrency
What is the best way to print in the order for the given implementation (void) print:(NSString*) str while(true) { NSLog(@“%@”, str); } } [self print:@“123”]; [self print:@“ABC”]; [self print:@“456”]; [self print:@“DEF”]; output should be printing in the order continuously 123 ABC 456 DEF 123 ABC 456 DEF … … …
2
0
764
Oct ’21
Framework split
I wanted to separate a few file from the framework. Let's say I have Class A,B,C,D,E,F,G. I wanted to move Class D and E out of the framework and keep it separate. Creating a new static/dynamic framework/SPM/Target is giving compilation error as Class D and E dependent on other classes. Is there a way to separate Class D and E by putting them in a separate container and import them in the framework?
0
0
547
Sep ’22
Sticky keys on by itself
Sticky key settings including activating it by tapping the shift key 5 times are disabled. However, the sticky key is activated automatically, so macOS behaves like the Shift Key is being pressed. I updated to the latest OS version and logged into safe mode a few times but no help. I verified all the settings related to Sticky keys are disabled Anyone faced this experience. How to stop activating the Sticky keys.
0
0
270
Sep ’24
DataFlow from Swift to SwfitUI
I have the business logic in Swift class and built UI using SwiftUI. Below the high level code that shows how SwiftUI and its subview receives the data from Swift. Please let me know if its correct approach class SwiftClass{     var score = "1"     func A () {}          func B () {         // score will get updated frequently         let scoreModal =  ScoreUIViewModel()         let scoreUI: ScoreUI = ScoreUI(showModal: .constant(true), scoreUIViewModel: scoreModal)         DispatchQueue.main.async {             scoreUI.displayScoreUI()         }        // score getting updated from another class         scoreModal.score = score // score getting updated from another class         score  = "2"         scoreModal.score = "2" // score getting updated from another class         score  = "3"         scoreModal.score = "3" // score getting updated from another class        score  = "4"         scoreModal.score = "4"      .......              } } import SwiftUI class ScoreUIViewModel: Observable {     @Published score: String } struct ScoreUI: View {     @State var scoreUIViewModel: ScoreUIViewModel     func displayScoreUI() {         let hostController = UIHostingController(rootView: ScoreUI())         hostController = .overCurrentContext         topViewController()!.present(hostController, animated: true, completion: nil)     }.environmentObject(scoreUIViewModel)      } struct ScoreText: View {     @EnvironmentObject var scoreUIViewModel: ScoreUIViewModel     Text(score).foregroundColor(.green) }
Replies
3
Boosts
0
Views
796
Activity
Jul ’21
Passing delegate/protocol as function parameter
public protocol UploadDelegate: AnyObject {} class NetworkManager: UploadDelegate {} class A { B().abc(uploadDelegate:NetworkManager() ) } class B { func abc (uploadDelegate: UploadDelegate) { C().efg(uploadDelegate:uploadDelegate ) } } class C { func efg (uploadDelegate: UploadDelegate) { D().hij(uploadDelegate:uploadDelegate ) } } class D { func hij (uploadDelegate: UploadDelegate) { uploadDelegate.func() } } Can we pass the protocol/delegate as a func parameter? If yes, I believe its a weak property.
Replies
0
Boosts
0
Views
521
Activity
Jul ’21
Removing folder from .app
I am using "Excluded Source File Names" in Xcode build settings to remove a folder from IPA. The given relative path is correct but for some reason, the folder that needs to be excluded is still exists in the .app file. Any idea why Excluded Source File Names is not working. The folder that I am trying to remove is listed under "Copy Bundle Resources" Here is the path "$(SRCROOT)/../foldera/folderb/foldertoberemoved"
Replies
1
Boosts
0
Views
1.4k
Activity
Jul ’21
Passing Data to ViewModal
class A { func processData { let viewModel: ViewModal = ViewModal() let viewController = ViewController() viewController.displayUI(viewModel) .... .... .... .... viewModel.imageName = "abcd" .... .... .... .... viewModel.imageName = "efg" .... .... .... .... viewModel.imageName = "hij" } } class ViewController { func displayUI (viewModal: ViewModal){ let contentView = ContentView(viewModal: viewModal).environmentObject(self) // present contentView } } class ViewModal { @Published var imageName: String = ""   @Published var label: String = "" // string formatting } struct ContentView: View {  @State var viewModel: ViewModal  @EnvironmentObject var viewController: ViewController  var body: some View { } } Can class A directly access ViewModal or it should pass the data to ViewController and ViewController set the data in ViewModal
Replies
0
Boosts
0
Views
856
Activity
Jul ’21
Cannot convert value of type 'some View' to specified type ‘ContentView'
func displayUI () { let hostingController = UIHostingController(rootView: ContentView(ViewModel: contentViewModal).environmentObject(self)) } Above code works fine. I attempted to make the hostingController as instance variable instead of local variable and declared the hostingController outside of display function like this lazy var hostingController: UIHostingController = UIHostingController(rootView: ContentView()) and so I removed let keyword func displayUI () {  hostingController = UIHostingController(rootView: ContentView(ViewModel: contentViewModal).environmentObject(self)) } Once I remove the let keyword I started getting this error. Cannot convert value of type 'some View' to specified type ‘ContentView' Any idea why I am getting this error after removing let keyword declared before hostingController variable?
Replies
0
Boosts
0
Views
737
Activity
Aug ’21
XCTest profile
I wrote a few unit test cases using XCTest by mocking the data? Is there any best practice to have multiple test profiles with different data sets? Sometime mock should return nil, sometimes an array with 2 elements and sometimes an array with 10 elements. How to have multiple test profiles?
Replies
0
Boosts
0
Views
758
Activity
Aug ’21
How to wait until an object is removed from Array
I have declared an NSMutableArray and the count should not exceed 100. If some one calls addObject method to add an item to that array when the count is 100 then that method call should not be executed until someone removes an item so that count will go down below 100. Can we use semaphore or group dispatch for signaling or mutex/NSLock is recommended.
Replies
8
Boosts
0
Views
1.5k
Activity
Sep ’21
How to make one operation wait for another to complete in Objective C
How to make one task(insert) wait for another to task(remove) in Objective C?
Replies
12
Boosts
0
Views
2.4k
Activity
Oct ’21
Concurrency
What is the best way to print in the order for the given implementation (void) print:(NSString*) str while(true) { NSLog(@“%@”, str); } } [self print:@“123”]; [self print:@“ABC”]; [self print:@“456”]; [self print:@“DEF”]; output should be printing in the order continuously 123 ABC 456 DEF 123 ABC 456 DEF … … …
Replies
2
Boosts
0
Views
764
Activity
Oct ’21
Optional framework
I linked a framework as optional/weak and it's working fine in the latest Xcode but in the older Xcode version compilation is failing due to "framework not found". Is there a way to fix the compilation error in the older Xcode version?
Replies
0
Boosts
0
Views
600
Activity
Dec ’21
Xcode backward compatibility
My client is using Xcode 11 but the iOS framework imported in the project is available only in Xcode 13. Client is getting "framework not found" in Xcode 11 . Is there a way to make my project compatible with older Xcode Version?
Replies
1
Boosts
0
Views
1.5k
Activity
Dec ’21
Xcode 13.4.1 not responding
Xcode is not responding when opening a workspace. I deleted the cache, derived data, saved application state and xcuserdata. I tried with different Xcode version too. Any help is much appreciated.
Replies
2
Boosts
0
Views
999
Activity
Jun ’22
Framework split
I wanted to separate a few file from the framework. Let's say I have Class A,B,C,D,E,F,G. I wanted to move Class D and E out of the framework and keep it separate. Creating a new static/dynamic framework/SPM/Target is giving compilation error as Class D and E dependent on other classes. Is there a way to separate Class D and E by putting them in a separate container and import them in the framework?
Replies
0
Boosts
0
Views
547
Activity
Sep ’22
Sticky keys on by itself
Sticky key settings including activating it by tapping the shift key 5 times are disabled. However, the sticky key is activated automatically, so macOS behaves like the Shift Key is being pressed. I updated to the latest OS version and logged into safe mode a few times but no help. I verified all the settings related to Sticky keys are disabled Anyone faced this experience. How to stop activating the Sticky keys.
Replies
0
Boosts
0
Views
270
Activity
Sep ’24