I’m trying to manipulate some business hours info for a business that was originally gotten from an API, and am trying to insert strings into an empty class instance property whom’s data type is the same as the data that I’m trying to add (a String). Can you do this, and if so, can you do this for other data types? (I think the answer to both of these questions is yes.)
I’ve tried to test this code in an Xcode playground, however I’m getting a return print statement that indicates that what I’m trying to do isn’t working, and seems related to the Swift class being used conforming to NSObjectProtocol.
Similar problem with the same type of return print statement here: Swift class/struct implicitly conforms to NSObjectProtocol?
Code from Xcode Playground:
import UIKit
import Foundation
class StartAndEndTimePairsAsStrings {
var startTimeInPairAsString: String
var endTimeInPairAsString: String
init(startTimeInPairAsString: String,
endTimeInPairAsString: String) {
self.startTimeInPairAsString = startTimeInPairAsString
self.endTimeInPairAsString = endTimeInPairAsString
}
}
//Variable Declarations
var startAndEndTimePairsAsStringsForMonday = StartAndEndTimePairsAsStrings(startTimeInPairAsString: "", endTimeInPairAsString: "")
//Varaible declarartions for lists/arrays with dumby data that will be used in the below for loops.
var mondayOpenBusinessHoursStartTimes12HourFormatWithColonAndAMOrPMAsStrings = ["7:00 am", "12:00 pm", "5:00 pm"]
var mondayOpenBusinessHoursEndTimes12HourFormatWithColonAndAMOrPMAsStrings = ["11:00 am", "4:00 pm", "10 pm"]
var mondayOpenBusinessHoursStartAndEndTimePairs12HourFormatWithColonAndAMOrPMAsStrings: [StartAndEndTimePairsAsStrings] = []
//Code for adding Monday Open Business Hours Start Times (mondayOpenBusinessHoursStartTimes12HourFormatWithColonAndAMOrPMAsStrings) to mondayOpenBusinessHoursStartAndEndTimePairs12HourFormatWithColonAndAMOrPMAsStrings array/list.
for element in mondayOpenBusinessHoursStartTimes12HourFormatWithColonAndAMOrPMAsStrings {
startAndEndTimePairsAsStringsForMonday.startTimeInPairAsString = element
//Print statement to check if the startAndEndTimePairsAsStringsForMonday.endTimeInPairAsString is empty/"" at this moment, which it should be.
print("startAndEndTimePairsAsStringsForMonday:", startAndEndTimePairsAsStringsForMonday)
mondayOpenBusinessHoursStartAndEndTimePairs12HourFormatWithColonAndAMOrPMAsStrings.append(startAndEndTimePairsAsStringsForMonday)
}
//Print statement to check if the mondayOpenBusinessHoursStartAndEndTimePairs12HourFormatWithColonAndAMOrPMAsStrings.endTimeInPairAsString (all of them) are empty/"" at this moment, which they should be.
print("mondayOpenBusinessHoursStartAndEndTimePairs12HourFormatWithColonAndAMOrPMAsStrings:", mondayOpenBusinessHoursStartAndEndTimePairs12HourFormatWithColonAndAMOrPMAsStrings)
//Code for adding Monday Open Business Hours End Times (mondayOpenBusinessHoursEndTimes12HourFormatWithColonAndAMOrPMAsStrings) to mondayOpenBusinessHoursStartAndEndTimePairs12HourFormatWithColonAndAMOrPMAsStrings array/list.
for (index, element) in mondayOpenBusinessHoursEndTimes12HourFormatWithColonAndAMOrPMAsStrings.enumerated() {
mondayOpenBusinessHoursStartAndEndTimePairs12HourFormatWithColonAndAMOrPMAsStrings[index].endTimeInPairAsString.append(element)
}
//Print check to see if the above code is working for adding and organizing the start and end time pairs correctly.
print("mondayOpenBusinessHoursStartAndEndTimePairs12HourFormatWithColonAndAMOrPMAsStrings:", mondayOpenBusinessHoursStartAndEndTimePairs12HourFormatWithColonAndAMOrPMAsStrings)
Return Print Statement when the above code in the Xcode playground is ran:
startAndEndTimePairsAsStringsForMonday: __lldb_expr_7.StartAndEndTimePairsAsStrings
startAndEndTimePairsAsStringsForMonday: __lldb_expr_7.StartAndEndTimePairsAsStrings
startAndEndTimePairsAsStringsForMonday: __lldb_expr_7.StartAndEndTimePairsAsStrings
mondayOpenBusinessHoursStartAndEndTimePairs12HourFormatWithColonAndAMOrPMAsStrings: [__lldb_expr_7.StartAndEndTimePairsAsStrings, __lldb_expr_7.StartAndEndTimePairsAsStrings, __lldb_expr_7.StartAndEndTimePairsAsStrings]
mondayOpenBusinessHoursStartAndEndTimePairs12HourFormatWithColonAndAMOrPMAsStrings: [__lldb_expr_7.StartAndEndTimePairsAsStrings, __lldb_expr_7.StartAndEndTimePairsAsStrings, __lldb_expr_7.StartAndEndTimePairsAsStrings]
objc[1772]: Class _PathPoint is implemented in both /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore (0x117f9b658) and /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/TextInputUI.framework/TextInputUI (0x136466690). One of the two will be used. Which one is undefined.
objc[1772]: Class _PointQueue is implemented in both /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore (0x117f9b630) and /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/TextInputUI.framework/TextInputUI (0x1364666b8). One of the two will be used. Which one is undefined.
Thanks!